Как создать архив на Linux

В unix-системах каждая программа, как правило, направлена на выполнение одной определенной функции. Утилита tar – не исключение. Она предназначена только для работы с архивами. Для сжатия она использует такие программы, как gzip и bzip2.
Создание архива без сжатия
tar -cvf file.tar /full/path – создать .tar
Создание архива со сжатием
tar -czvf file.tar.gz /full/path – создать .tar.gz (архив)
tar -cjvf file.tar.bz2 /full/path – создать .tar.bz2 (архив)
Синтаксис этих команд
tar [-ключи] [название архива] [путь, что запаковать]
Значение ключей:
- с (create)– создание архива;
- z – создание архива .tar.gz;
- j – создание архива .tar.bz2;
- v (verbose) – показывание информации в процессе выполнения;
- f (file) – использование имени файла, указанного после ключей. Если не использовать данный ключ, результаты будут выведены непосредственно в консоль.
Добавить содержимое архива archive2.tar в архив archive1.tar
tar -A –file=archive1.tar archive2.tar
Добавить файл к существующему архиву.
Внимание! Добавление файлов возможно только в том случае, когда архив был создан без сжатия, т.е. обычный tar, а не tar.gz
tar -r –file=archive1.tar filename.txt
Обновить файл в архиве
Файл будет обновлен в том случае, когда дата последней модификации файла filename.txt будет младше даты файла в архиве archive1.tar
tar –update –file=archive1.tar filename.txt
Добавить все файлы, которые находятся в /full/path/to/folder/ к существующему архиву archive1.tar
tar -r –file=archive1.tar /full/path/to/folder/*
Посмотреть содержимое архива, не распаковывая его на диск
tar -tf archive1.tar
Удалить файл из архива
tar –delete –file=archive1.tar filename.txt
В следующем примере мы архивируем каталог /etc, но файлы созданных архивов сохраняем по частям, размер которых не будет превышать 1Mb. Знак “-” после cvf будет означать, что содержимое /etc направляется на поток вывода (stdout), знак “-” после 1m означает, что результат обработки командой split будет направляться на поток ввода (stdin).
tar -cvf – /etc/ | split -a 1 -d -b 1m – ./archive1.tar
Собрать все части в один целый архив
cat archive1.tar* > archive1.tar
Для файлов, содержащих архивы tar, применяются следующие расширения имён файлов. Они зависят от имени программы, которая использовалась для сжатия.
архив tar:
.tar
архив tar, сжатый программой gzip:
.tar.gz
.tgz
.tar.gzip
архив tar, сжатый программой bzip2:
.tar.bz2
.tar.bzip2
.tbz2
.tb2
.tbz
архив tar, сжатый программой compress:
.tar.Z
.taz
архив tar, сжатый программой LZMA:
.tar.lzma
архив tar, сжатый программой XZ:
.tar.xz
архив tar, сжатый программой lzop:
.tar.lzo
.tzo