Утилита tar предназначена для создания резервных копий файлов в формате tar. По сути она склеивает несколько файлов в один, параллельно позволяя производить сжатие выходного файла с помощью внешней утилиты сжатия. Одним из преимуществ формата tar при создании архивов является то, что в архив записывается информация о структуре каталогов, о владельце и группе отдельных файлов, а также временны́е метки файлов.
tar [-опции] <имя файла tar> [файлы, которые необходимо поместить в архив при сжатии]
Основные опции:
-c, --create -
создать архив;-r, --append -
добавить файлы в конец существующего архива;-x, --extract, --get
— извлечь файлы из архива;-f, --file
- указать имя архива;-j, --bzip2
- cжать/распаковать архив дополнительно при помощи bzip2;-z, --gzip,--gunzip,--ungzip
— сжать/распаковать архив при помощи gzip;-v, --verbose
- выводить список обработанных файлов.
Примеры:
Для этого используем ключ -c. Архив запишем в файл archive.tar, для чего укажем ключ -f. Ключ f требует чтобы сразу после него было указано имя файла бэкапа, поэтому в наборе ключей он указан последним. Заархивируем все txt файлы в папке, откуда даем команду:
$ tar -cf archive.tar *.txt
Если мы хотим сжать выходной файл то укажем ключ -z для сжатия с помощью gzip, или -j для сжатия с помощью --bzip2
. Указанный выше пример будет выглядеть так:
$ tar -czf archive.tar.gz *.txt
Если мы хотим подробно видеть в консоли весь процесс архивации, то дополнительно указваем ключ -v:
$ tar -czvf archive.tar.gz *.txt
Для архивации папки, указываем путь к ней:
$ tar -czvf archive.tar.gz /home/user
Если при архивации папки, нам не нужно архивировать некоторые папки, то исключаем их с помощью ключа - - exclude. Например мы не хотим архивировать папку /home/ftp
$ tar -czvf archive.tar.gz /home --exclude=/home/ftp
Для этого используем ключ -x. И тут снова потребуется ключ -f
для указания имени файла архива. Для визуального отображения хода процесса таже добавим ключ -v . Приведенная ниже команда распакует архив в текущую папку.
$ tar -xvf archive.tar.gz
Другое место для распаковки можно указать с помощью ключа -C
:
$ tar -xvf archive.tar.gz-C /path/to/folder
Для просмотра содержимого архива используем ключ -t и также ключ f для указания имени файла.
$ tar -tf archive.tar.gz
Она выведет простой список файлов и каталогов в архиве. Если же добавить ключ -v
, будет выведен подробный список с указанием размера, прав доступа и прочих параметров (так же, как по ls -l
)
tar предоставляет множество полезных возможностей. Например, можно указать файлы и каталоги, которые не будут включены в архив, добавить файлы в существующий архив, взять список объектов для запаковки из текстового файла и много что ещё. Во всем многообразии опций как всегда поможет разобраться
$ man tar
или же
$ tar --help