Как сжать и извлечь файлы с помощью команды tar в Linux

Команда tar в Linux часто используется для создания архивных файлов .tar.gz или .tgz, также называемых «tarballs». Эта команда имеет большое количество параметров, но вам просто нужно запомнить несколько букв, чтобы быстро создать архивы с помощью tar , Команда tar также может извлечь полученные архивы.

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

Сжатие всего каталога или одного файла

Используйте следующую команду для сжатия всего каталога или одного файла в Linux. Он также сжимает все остальные каталоги внутри указанного вами каталога – другими словами, он работает рекурсивно.

 tar -czvf name-of-archive.tar.gz/path/to/каталог или файл 

Вот что на самом деле означают эти переключатели:

  • -c: C создать архив.
  • -z: сжать архив с помощью g z ip.
  • -v: отображать прогресс в терминале при создании архива, также известного как режим v erbose. В этих командах v необязательно, но полезно.
  • -f: позволяет указать имя f архива.

Допустим, у вас есть каталог с именем «stuff» в текущем каталоге, и вы хотите сохранить его в файл с именем archive.tar.gz. Вы бы запустили следующую команду:

 tar -czvf archive.tar.gz stuff 

Или, допустим, в текущей системе есть каталог/usr/local/что-то, и вы хотите сжать его в файл с именем archive.tar.gz. Вы бы запустили следующую команду:

 tar -czvf archive.tar.gz/usr/local/что-то 

Сжатие нескольких каталогов или файлов одновременно

Хотя tar часто используется для сжатия одного каталога, вы также можете использовать его для сжатия нескольких каталогов, нескольких отдельных файлов или обоих. Просто предоставьте список файлов или каталогов вместо одного. Например, допустим, вы хотите сжать каталог/home/ubuntu/Downloads, каталог/usr/local/stuff и файл /home/ubuntu/Documents/notes.txt. Вы просто запустите следующую команду:

 tar -czvf archive.tar.gz/home/ubuntu/Downloads/usr/local/stuff /home/ubuntu/Documents/notes.txt 

Просто перечислите столько каталогов или файлов, сколько вы хотите сделать резервную копию.

Исключить каталоги и файлы

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

Например, допустим, вы хотите сжать каталоги/home/ubuntu, но не хотите сжимать каталоги/home/ubuntu/Downloads и /home/ubuntu/.cache. Вот как вы это сделаете:

 tar -czvf archive.tar.gz/home/ubuntu --exclude =/home/ubuntu/Загрузки --exclude =/home/ubuntu/.cache 

Переключатель - exclude очень мощный. Он не принимает имена каталогов и файлов – он на самом деле принимает шаблоны. С этим можно сделать гораздо больше. Например, вы можете заархивировать весь каталог и исключить все файлы .mp4 с помощью следующей команды:

 tar -czvf archive.tar.gz/home/ubuntu --exclude = *. mp4 

Вместо этого используйте сжатие bzip2

Хотя сжатие gzip чаще всего используется для создания файлов .tar.gz или .tgz, tar также поддерживает сжатие bzip2. Это позволяет создавать сжатые bzip2 файлы, часто называемые файлами .tar.bz2, .tar.bz или .tbz. Для этого просто замените -z для gzip в командах здесь на -j для bzip2.

Gzip работает быстрее, но обычно он сжимается немного меньше, поэтому вы получаете файл несколько большего размера. Bzip2 медленнее, но сжимает немного больше, поэтому вы получаете файл несколько меньшего размера. Gzip также более распространен, с некоторыми урезанными системами Linux, включая поддержку gzip по умолчанию, но не поддержку bzip2. В целом, однако, gzip и bzip2 – это практически одно и то же, и оба будут работать одинаково.

Например, вместо первого примера, который мы предоставили для сжатия каталога вещи, вы запустили бы следующую команду:

 tar -cjvf archive.tar.bz2 stuff 

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

Когда у вас есть архив, вы можете извлечь его с помощью команды tar. Следующая команда извлечет содержимое файла archive.tar.gz в текущий каталог.

 tar -xzvf archive.tar.gz 

Она такая же, как команда создания архива, которую мы использовали выше, за исключением того, что ключ -x заменяет ключ -c .Это указывает, что вы хотите x создать архив вместо того, чтобы создавать его.

Вы можете извлечь содержимое архива в определенный каталог. Вы можете сделать это, добавив переключатель -C в конец команды. Например, следующая команда извлечет содержимое файла archive.tar.gz в каталог/tmp.

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

Если файл представляет собой сжатый bzip2 файл, замените «z» в вышеприведенных командах на «j».

Это простейшее возможное использование команды tar. Команда включает в себя большое количество дополнительных опций, поэтому мы не можем перечислить их все здесь. Для дополнительной информации. выполните команду info tar в командной оболочке, чтобы просмотреть подробную информацию о команде tar. Нажмите клавишу q , чтобы выйти из информационной страницы, когда вы закончите. Вы также можете прочитать руководство пользователя tar онлайн.

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

Оцените статью
TutoryBird.Ru
Добавить комментарий