If-Koubou

Как да компресирате и извличате файлове, като използвате командата tar на Linux

Как да компресирате и извличате файлове, като използвате командата tar на Linux (Как да)

Командата tar на Linux често се използва за създаване на архивни файлове .tar.gz или .tgz, наричани също така "tarballs". Тази команда има голям брой опции, но просто трябва да запомните няколко букви, за да създадете бързо архиви с катран , Командата tar може да извлече и получените архиви.

Командата GNU tar, включена в Linux дистрибуциите, има интегрирана компресия. Той може да създаде архив .tar и след това да го компресира с компресия gzip или bzip2 в една команда. Ето защо полученият файл е файл .tar.gz или файл .tar.bz2.

Компресиране на цяла директория или на отделен файл

Използвайте следната команда, за да компресирате цяла директория или отделен файл на Linux. Той също така ще компресира всяка друга директория в указаната директория - с други думи, тя работи рекурсивно.

tar -czvf име-от-архив.tar.gz / път / към / директория или файл

Ето какво всъщност означават тези ключове:

  • -° С: ° Ссъздаване на архив.
  • -z: Компресирайте архива с gZIP.
  • -v: Показване на напредъка в терминала при създаването на архива, известен също като "Vербозен "режим. V е винаги по избор в тези команди, но е полезно.
  • -f: Позволява ви да зададете еilename на архива.

Да приемем, че имате директория, наречена "неща" в текущата директория и искате да я запазите във файл, наречен archive.tar.gz. Ще изпълните следната команда:

tar-czvf архив.tar.gz неща

Или, да кажем, че има директория в / usr / local / something на текущата система и искате да я компресирате във файл, наречен archive.tar.gz. Ще изпълните следната команда:

tar-czvf архив.tar.gz / usr / местен / нещо

Компресирайте няколко директории или файлове наведнъж

Въпреки че тарата често се използва за компресиране на една директория, можете да я използвате и за компресиране на няколко директории, множество отделни файлове или и двете. Трябва само да предоставите списък с файлове или директории вместо едно. Например, да речем, че искате да компресирате директорията / home / ubuntu / Downloads, директорията / usr / local / stuff и файла /home/ubuntu/Documents/notes.txt. Просто трябва да изпълните следната команда:

tar-czvf архив.tar.gz / начало / ubuntu / изтегляния / usr / local / stuff /home/ubuntu/Documents/notes.txt

Просто списък на толкова директории или файлове, колкото искате да направите резервно копие.

Изключете директории и файлове

В някои случаи може да искате да компресирате цяла директория, но да не включвате определени файлове и директории. Можете да го направите, като добавите --exclude превключете за всяка директория или файл, който искате да изключите.

Например, да речем, че искате да компресирате / home / ubuntu, но не искате да компресирате директорията / home / ubuntu / Downloads и /home/ubuntu/.cache. Ето как ще го направите:

tar-czvf архив.tar.gz / home / ubuntu --exclude = / home / ubuntu / Изтегляния --exclude = / home / ubuntu / .cache

Най- --exclude превключвателят е много мощен. Той не приема имена на директории и файлове - всъщност приема модели. Има още много неща, които можете да правите с него. Например можете да архивирате цяла директория и да изключите всички файлове .mp4 със следната команда:

tar-czvf архив.tar.gz / home / ubuntu - изключване = *. mp4

Използвайте bzip2 Compression Instead

Въпреки че компресията с gzip се използва най-често за създаване на файлове .tar.gz или .tgz, катранът също така поддържа компресията bzip2. Това ви позволява да създавате компресирани с bzip2 файлове често наричани .tar.bz2, .tar.bz или .tbz файлове. За да направите това, просто заменете -z за gzip в командите тук с -j за bzip2.

Gzip е по-бързо, но обикновено се компресира малко по-малко, за да получите малко по-голям файл. Bzip2 е по-бавен, но се компресира малко повече, така че ще получите малко по-малко файлове. Gzip също е по-често срещано, като някои отрязани Linux системи, включително поддръжка на gzip по подразбиране, но не и bzip2 поддръжка. Като цяло, обаче, gzip и bzip2 са практически едно и също нещо и двете ще работят по същия начин.

Например, вместо първия пример, който сме предвидили за компресиране на директорията с неща, трябва да изпълните следната команда:

tar-cjvf архив.tar.bz2 неща

Извличане на архив

След като имате архив, можете да го извлечете с командата tar. Следващата команда ще извлече съдържанието на archive.tar.gz в текущата директория.

tar -xzvf archive.tar.gz

Това е същото като командата за създаване на архив, която използвахме по-горе, с изключение на командата за създаване на архив превключвателят заменя -° С ключ. Това указва, че искате да eхтракт архив, вместо да създадете такъв.

Може да искате да извлечете съдържанието на архива в определена директория. Можете да го направите, като го добавите -° С преминете към края на командата. Например следната команда ще извлече съдържанието на файла archive.tar.gz в директорията / tmp.

tar -xzvf archive.tar.gz -C / tmp

Ако файлът е компресиран с bzip2 файл, заменете "z" в горните команди с "j".

Това е най-простото възможно използване на командата tar. Командата включва голям брой допълнителни опции, така че не е възможно да ги изброим тук. За повече информация. стартирайте info tar команда в черупката, за да видите подробната страница на командата tar. Натисни р , за да излезете от страницата с информация, когато сте готови. Можете също така да прочетете наръчника на катран онлайн.

Ако използвате графичен работен плот на Linux, можете да използвате помощната програма за компресиране на файлове или файловия мениджър, включен в работния плот, за да създавате или извличате файлове .tar. В Windows можете да извличате и създавате .tar архиви със свободната 7-Zip програма.