Содержание
tar - наиболее распространенный архиватор, используемый в Linux-системах. Сам по себе tar не является архиватором в привычном понимании этого слова, т.к. он самостоятельно не использует сжатие. В то же время, многие архиваторы (например, Gzip или bzip2) не умеют сжимать несколько файлов, а работают только с одним файлом или входным потоком. Поэтому чаще всего эти программы используются вместе. tar создает несжатый архив, в который помещаются выбранные файлы и каталоги, при этом сохраняя некоторые их атрибуты (такие как права доступа). После этого полученный файл *.tar
сжимается архиватором, например, gzip
. Вот почему архивы обычно имеют расширение .tar.gz
или .tar.bz2
(для архиваторов gzip
и bzip2
соответственно)
Использование
tar запускается с обязательным указанием одного из основных действий, самые распространенные из которых - создание и распаковка архивов, далее задаются прочие параметры, зависящие от конкретной операции.
Создание архива
Для создания архива нужно указать tar соответствующее действие, что делается с помощью ключа -c
. Кроме того, для упаковки содержимого в файл необходим ключ -f
1). Далее укажем сначала имя будущего архива, а затем те файлы, которые хотим упаковать.
tar -cf txt.tar *.txt
Эта команда упакует все файлы с расширением txt в архив txt.tar. Так и создается простейший архив без сжатия. Для использования сжатия не нужно запускать что-либо еще, достаточно указать tar, каким архиватором следует сжать архив. Для двух самых популярных архиваторов gzip
и bzip2
ключи будут -z
и -j
соответственно.
tar -cvzf files.tar.gz ~/files
упакует папку ~/files
со всем содержимым в сжатый с помощью gzip архив.
tar -cvjf files.tar.bz2 ~/files
создаст аналогичный архив, используя для сжатия bzip2.
Ключ -v
включает вывод списка упакованных файлов в процессе работы. К сожалению, более продвинутой индикации хода процесса (например, указания степени готовности в процентах) в tar не предусмотрено. Для этого используйте графические архиваторы (например, Xarchiver) или пользуйтесь средствами файл-менеджера.
Помимо gzip
и bzip2
можно использовать, например, lzma
(ключ –lzma
) или xz
(ключ -J
), при этом соответствующий архиватор должен быть установлен в системе.
Распаковка архива
Действие «распаковка» задается с помощью ключа -x
. И тут снова потребуется ключ -f
для указания имени файла архива. Также добавим ключ -v для визуального отображения хода процесса.
tar -xvf /path/to/archive.tar.bz2
распакует содержимое архива в текущую папку. Альтернативное место для распаковки можно указать с помощью ключа -C
:
tar -xvf archive.tar.bz2 -C /path/to/folder
Просмотр содержимого архива
Для просмотра содержимого архива используйте следующую команду:
tar -tf archive.tar.gz
Она выведет простой список файлов и каталогов в архиве. Если же добавить ключ -v
, будет выведен подробный список с указанием размера, прав доступа и прочих параметров (так же, как по ls -l
)
Прочие возможности
tar предоставляет множество полезных возможностей. Например, можно указать файлы и каталоги, которые не будут включены в архив, добавить файлы в существующий архив, взять список объектов для запаковки из текстового файла и много что ещё. Во всем многообразии опций как всегда поможет разобраться
man tar
или же
tar --help
stdout
при упаковке и пытаться читать архив с stdin
при распаковке.