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

create-tar-archieve-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

Залишити відповідь

Дякуємо, що поділились