Как сжимать и извлекать файлы с помощью команды tar в Linux
- TryHarder
- 28-дек-2022, 11:51
Запустите "tar -czvf (имя архива).tar.gz (pathtofile)” в терминале для сжатия файла или папки. Чтобы извлечь архив в текущую папку, выполните команду “tar -xzvf (архивный файл)".
Команда tar в Linux часто используется для создания .tar.gz или архивные файлы .tgz, также называемые “архивными файлами”. Эта команда имеет большое количество опций, но вам просто нужно запомнить несколько букв, чтобы быстро создавать архивы с помощью tar. Команда tar также может извлекать результирующие архивы.
Команда GNU tar, включенная в дистрибутивы Linux, имеет встроенное сжатие. Он может создать архив .tar, а затем сжать его с помощью сжатия gzip или bzip2 одной командой. Вот почему результирующий файл представляет собой .tar.gz файл или файл .tar.bz2.
Используйте следующую команду для сжатия всего каталога или одного файла в Linux. Он также будет сжимать все остальные каталоги внутри указанного вами каталога – другими словами, он работает рекурсивно.
tar -czvf name-of-archive.tar.gz /путь/к/каталогу или файлу
Вот что на самом деле означают эти переключатели:
Допустим, у вас есть каталог с именем “stuff” в текущем каталоге, и вы хотите сохранить его в файл с именем archive.tar.gz . Вы бы выполнили следующую команду:
tar -czvf archive.tar.gz вещи
Или, допустим, в текущей системе есть каталог /usr/local/something, и вы хотите сжать
его в файл с именем archive.tar.gz . Вы бы выполнили следующую команду:
tar -czvf archive.tar.gz /usr/локальный / что-то
Хотя tar часто используется для сжатия одного каталога, вы также можете использовать его для сжатия нескольких каталогов, нескольких отдельных файлов или и того, и другого. Просто предоставьте список файлов или каталогов вместо одного. Например, предположим, что вы хотите сжать каталог /home/ubuntu/Downloads, каталог /usr/local/stuff и /home/ubuntu/Documents/notes.txt досье. Вы просто запустите следующую команду:
tar -czvf archive.tar.gz /главная/ubuntu/Загрузки /usr/локальный /материал /home/ubuntu/Documents/notes.txt
Просто перечислите столько каталогов или файлов, сколько вы хотите создать резервную копию.
В некоторых случаях вы можете захотеть сжать весь каталог, но не включать определенные файлы и каталоги. Вы можете сделать это, добавив --exclude
переключатель для каждого каталога или файла, который хотите исключить.
Например, допустим, вы хотите сжать /home/ubuntu, но не хотите сжимать каталоги /home/ubuntu/Downloads и /home/ubuntu/.cache . Вот как вы это сделаете:
tar -czvf archive.tar.gz /home/ubuntu --исключить=/home/ubuntu/Загрузки --исключить=/home/ubuntu/.кэш
--exclude
tar -czvf archive.tar.gz /главная страница/ubuntu --исключить=*.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.tar.bz2
Если у вас есть архив, вы можете извлечь его с помощью команды 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.