Команда tar в Linux часто используется для создания архивных файлов .tar.gz или .tgz, также называемых «tarballs». Эта команда имеет большое количество параметров, но вам просто нужно запомнить несколько букв, чтобы быстро создавать архивы с помощью tar. Команда tar также может извлекать полученные архивы.
Команда GNU tar, включенная в дистрибутивы Linux, имеет встроенное сжатие. Он может создать архив .tar, а затем сжать его с помощью сжатия gzip или bzip2 с помощью одной команды. Поэтому в результате получается файл .tar.gz или .tar.bz2.
Сжать весь каталог или отдельный файл
Используйте следующую команду для сжатия всего каталога или одного файла в Linux. Он также сжимает все остальные каталоги внутри указанного вами каталога - другими словами, он работает рекурсивно.
tar -czvf имя-архива.tar.gz / путь / к / каталог-или-файлу
Вот что на самом деле означают эти переключатели:
- -c: C создать архив.
- -z: сжать архив с помощью g с ip.
- -v: отображать прогресс в терминале при создании архива, также известный как « в подробный »режим. V в этих командах всегда необязателен, но полезен.
- -f: позволяет указать ж имя файла архива.
Допустим, у вас есть каталог с именем "stuff" в текущем каталоге, и вы хотите сохранить его в файл с именем archive.tar.gz. Вы запустите следующую команду:
tar -czvf archive.tar.gz материал
Или, скажем, в текущей системе есть каталог / usr / local / something, и вы хотите сжать его в файл с именем archive.tar.gz. Вы запустите следующую команду:
tar -czvf archive.tar.gz / usr / local / something
Сжатие нескольких каталогов или файлов одновременно
СВЯЗАННЫЕ С: Как управлять файлами из терминала Linux: 11 команд, которые вам нужно знать
Хотя 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
Просто укажите столько каталогов или файлов, для которых вы хотите создать резервную копию.
Исключить каталоги и файлы
В некоторых случаях вы можете захотеть сжать весь каталог, но не включать определенные файлы и каталоги. Вы можете сделать это, добавив
- исключить
переключатель для каждого каталога или файла, который вы хотите исключить.
Например, вы хотите сжать / home / ubuntu, но не хотите сжимать каталоги / home / ubuntu / Downloads и /home/ubuntu/.cache. Вот как бы вы это сделали:
tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Downloads --exclude = / home / ubuntu / .cache
В
- исключить
переключатель очень мощный. Он не принимает имена каталогов и файлов - он фактически принимает шаблоны. С ним можно сделать гораздо больше. Например, вы можете заархивировать весь каталог и исключить все файлы .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. Следующая команда извлечет содержимое archive.tar.gz в текущий каталог.
Его -sajbof archive.tar.gaj
Это та же команда создания архива, которую мы использовали выше, за исключением
-Икс
переключатель заменяет
-c
переключатель. Это указывает на то, что вы хотите
Икс
вести архив вместо того, чтобы создавать его.
Вы можете извлечь содержимое архива в определенный каталог. Вы можете сделать это, добавив
-C
перейти в конец команды. Например, следующая команда извлечет содержимое файла archive.tar.gz в каталог / tmp.
Его -sajbof archive.tar.gaj -c / temp
Если файл является сжатым с помощью bzip2 файлом, замените «z» в приведенных выше командах на «j».
Это простейшее возможное использование команды tar. Команда включает в себя большое количество дополнительных параметров, поэтому мы не можем перечислить их все здесь. Чтобы получить больше информации. запустить info tar в оболочке, чтобы просмотреть подробную информацию о команде tar информационная страница . нажмите q , чтобы закрыть информационную страницу, когда вы закончите. Вы также можете прочтите руководство tar онлайн .
Если вы используете графический рабочий стол Linux, вы также можете использовать утилиту сжатия файлов или файловый менеджер, включенные в ваш рабочий стол, для создания или извлечения файлов .tar. В Windows вы можете извлекать и создавать архивы .tar с помощью бесплатного 7-молния полезность.