Tar

Материал из VAAL-WIKI
Версия от 09:18, 2 июня 2017; Vaal (обсуждение | вклад) (Новая страница: «'''tar''' (от англ. '''t'''ape '''ar'''chive) — формат битового потока или файла архива, а также название…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

tar (от англ. tape archive) — формат битового потока или файла архива, а также название традиционной для Unix программы для работы с такими архивами. Программа tar была стандартизирована в POSIX.1-1998, а также позднее в POSIX.1-2001. Первоначально программа tar использовалась для создания архивов на магнитной ленте, а в настоящее время tar используется для хранения нескольких файлов внутри одного файла, для распространения программного обеспечения, а также по прямому назначению — для создания архива файловой системы. Одним из преимуществ формата tar при создании архивов является то, что в архив записывается информация о структуре каталогов, о владельце и группе отдельных файлов, а также временны́е метки файлов.

Как и другие утилиты Unix, tar — специализированная программа, которая следует философии Unix «делать только одну вещь» (в данном случае — работать с архивами формата tar), «но делать её хорошо». Поэтому tar не создаёт сжатых архивов, а использует для сжатия внешние утилиты, такие, как gzip и bzip2. Ранее для сжатия использовалась также утилита compress, которая практически вышла из употребления.

Примечание

Из-за достаточно поздней стандартизации существует несколько похожих, но не до конца совместимых форматов. В частности, различие между GNU tar и SUN Solaris tar наблюдается при длине имени файла, включаемого в архив, более 100 символов или размере включаемого в архив файла более 8 ГБ.

Расширения имён файлов

Для файлов, содержащих архивы tar, традиционно применяется расширение имени файла .tar. В случае дополнительного сжатия другими программами применяются следующие расширения:

  • gzip: .tar.gz, .tgz (в случае ограничений файловой системы на длину расширения), .tar.gzip
  • bzip2: .tar.bz2, .tar.bzip2, .tbz2, .tb2, .tbz
  • compress: .tar.Z, .taz
  • LZMA: .tar.lzma
  • XZ: .tar.xz, .txz
  • lzop: .tar.lzo, .tzo
  • lzip: .tar.lz, .tlz

Синтаксис

tar [-опции] <имя файла tar> [файлы, которые необходимо поместить в архив при сжатии]

Опции:

  • -c, --create создать архив

Примеры

Создание bar.tar из файла или каталога foo:

tar -cvf bar.tar foo

Извлечение содержимого bar.tar в текущий каталог:

tar -xvf bar.tar

Tarpipe

Tarpipe — процесс создания tar-архива в stdout и последующего извлечения содержания архива в другом каталоге из stdin. Это очень удобный метод копирования содержания одной файловой системы в другую, так как происходит полное копирование, включая атрибуты файлов, символические ссылки, файлы устройств.

tar -C "каталог_источника" -cf - . | tar -C "каталог_назначения" -xvf -
Tar over SSH
tar -C каталог_источника -czpvf - . | ssh user@host "cat > каталог_назначения/backup.tgz"
Tar & 7-zip

Чтобы сделать резервную копию каталога:

tar cf - directory | 7za a -si directory.tar.7z

Чтобы восстановить из резервной копии:

7za x -so directory.tar.7z | tar xf -

Ссылки