Все Linux/BSD системы имеют установленный по умолчанию архиватор tar (англ. tape archive) . TAR не создаёт сжатых архивов, а использует для сжатия внешние утилиты, такие, как gzip и bzip2. Одним из преимуществ явяется то, что в архив записывается вся информация о структуре каталогов, владельце и группе, а также временные метки.

Как сжать файлы или каталоги в Linux с помощью tar?

# tar -cvf archive_name.tar /var/www/mysite/*
c — create archive (создание архива)
v — verbose (выдача дополнительных сообщений при создании архива в консоль)
f — создать файл на диске
/var/www/mysite/* - архивируемые файлы через пробел.
 

Как сжать содержимое tar архива с помощью сторонних утилит?

# tar -cvzf archive_name.tar.gz /var/www/mysite/*

В этом примере содержимое архива будет сжато архиватором gzip

Как распаковать tar архив в текущую папку?

# tar -xf archive_name.tar - извлечь обычный архив tar в текущую директорию
# tar -xzf archive_name.tar.gz - извлечь сжатый архив tar в текущую директорию

Как извлечь содержимое архива tar в указанную папку?

# tar -xf archive.tar -C /var/www/mysite - извлечь обычный архив tar в директорию /var/www/mysite
# tar -xzf archive.tar.gz -C /var/www/mysite - извлечь сжатый архив tar в директорию /var/www/mysite

Как исключить файл или папку при архивировании или создании архива tar?

Для исключения файлов или папки используется опция --exclude

# tar --exclude='/var/www/mysite/*' -cvzf archive_name.tar.gz /var/www/mysite/*

В этом примере архивируем всю директорию /var/www/mysite, но исключаем из архива папку /var/www/mysite/temp