База знаний по Open Source
Авторизация
Поиск по базе знаний

Вообще-то tar – это старая программа, разработанная в те времена, когда файлы и архивы хранились магнитных лентах. Сама аббревиатура tar расшифровывается как Tape ARchiver. Из-за своего прямого предназначения он не сжимает данные, а лишь объединяет их в единый файл с последовательным доступом для записи на ленту и по умолчанию этот архивный файл создается на ленточном накопителе, точнее на устройстве /dev/rmt0.

Однако tar совместно с программой сжатия gzip, а в последнее время – bzip2, является основным архиватором *nix систем. tar собирает указанные файлы в единый архив, а gzip или более новый и более эффективный компрессор bzip2 (и требующий больших мощностей от компьютера) сжимают этот архив. Сами по себе gzip и bzip для создания архивов достаточно бесполезны – они не умеют собирать файлы, а только сжимают один файл и пишут на его место его архив (т.е. файл-источник аккуратно удаляют), а в паре с tar это очень мощное средство.

Первым аргументом к программе tar всегда должна быть одна из следующих опций: Acdrtux, за которой следуют необязательные дополнительные параметры. Эти опции определяют основные функции программы:

  • -A, –catenate, –concatenate
    добавляет файлы в архив
  • -c, –create
    создает новый архив
  • -d, –diff, –compare
    находит различия между объектами архива и их “исходниками” в файловой системе
  • –delete
    удаляет файлы из архива (эта опция не используется для архивов на магнитной ленте!)
  • -r, –append
    добавляет файлы в конец архива
  • -t, –list
    выводит содержание архива
  • -u, –update
    добавляет только те файлы, которые ранее не были включены в архив
  • -x, –extract, –get
    извлекает файлы из архива

Так как с лентами сейчас практически никто не работает, то к этим обязательным параметрам следует добавить еще один – f. Без него tar будет использовать вместо архива устройство /dev/rmt0.

Последними аргументами к программе tar являются имена архивируемых файлов или каталогов. При использовании имени каталога всегда предполагается, что его подкаталоги будут также включены в архив.

Создание tar архива

Создание архива и сжатие его gzip. Используется параметр -z:

$ tar -czf <имя_архива> <имя_файла|каталога> ... <имя_файла|каталога>

Суффикс .gz не добавляется автоматически к имени создаваемого архива, поэтому лучше сразу задать имя архива с указанием обеих суффиксов: имя.tar.gz.

Создание архива и сжатие его bzip2. Используется параметр -j:

$ tar -cjf <имя_архива> <имя_файла|каталога> ... <имя_файла|каталога>

Лучше сразу задать имя архива с указанием обеих суффиксов: имя.tar.bz2.

При создании архива можно использовать параметр -v – включает вывод списка упакованных в процессе работы файлов.

Распаковка tar архива

Распаковка tar архива задается с помощью ключа -x:

tar -xvf /path/to/archive.tar.bz2

распакует содержимое архива, сжатого bzip2 в текущую папку. Альтернативное место для распаковки можно указать с помощью ключа -C:

$ tar -xvf archive.tar.bz2 -C /path/to/folder

распакует содержимое архива, сжатого gzip в папку /path/to/folder.

Просмотр содержимого архива

Для просмотра содержимого архива используйте следующую команду:

$ tar -tf archive.tar.gz

Она выведет простой список файлов и каталогов в архиве, но если добавить ключ -v, будет выведен подробный список с указанием размера, прав доступа и прочих параметров.

tar обладает очень большими возможностями и кучей параметров, посмотреть которые можно по

$ man tar

или

$ tar --help

Добавить комментарий