Команда tar GNU, включенная в дистрибутивы Linux, имеет встроенное сжатие. Он может создать архив.tar, а затем сжать его с помощью сжатия gzip или bzip2 в одной команде. Вот почему полученный файл является файлом.tar.gz или.tar.bz2.
Сжатие всей директории или одного файла
Используйте следующую команду для сжатия всего каталога или одного файла в Linux. Он также сжимает каждый другой каталог внутри указанного вами каталога - другими словами, он работает рекурсивно.
tar -czvf name-of-archive.tar.gz /path/to/directory-or-file
Вот что означают эти коммутаторы:
- -c: С создать архив.
- -z: Сжать архив с помощью g Z ф.
- -v: Показывать прогресс в терминале при создании архива, также известный как " verbose ". V всегда является необязательным в этих командах, но это полезно.
- -f: Позволяет указать е Идентификатор архива.
Предположим, у вас есть каталог с именем «stuff» в текущем каталоге, и вы хотите сохранить его в файл с именем archive.tar.gz. Вы должны выполнить следующую команду:
tar -czvf archive.tar.gz stuff
Или, скажем, есть каталог в / usr / local / something в текущей системе, и вы хотите сжать его в файл с именем archive.tar.gz. Вы должны выполнить следующую команду:
tar -czvf archive.tar.gz /usr/local/something
Сжатие нескольких каталогов или файлов одновременно
Хотя 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/Downloads --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
переключатель. Это указывает, что вы хотите Икс трактуйте архив, а не создавайте его.
Вы можете захотеть извлечь содержимое архива в конкретный каталог. Вы можете сделать это, добавив
-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.