tar
| Расширение |
|
|---|---|
| MIME-тип |
application/x-tar |
| Сигнатура |
|
| Тип формата | |
| Содержится в | |
| Открытый формат? |
да |
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— создать архив;-r, --append— добавить файлы в конец существующего архива;-x, --extract, --get— извлечь файлы из архива;-f, --file— указать имя архива;-j, --bzip2— cжать/распаковать архив дополнительно при помощи bzip2;-z, --gzip, --gunzip, --ungzip— сжать/распаковать архив дополнительно при помощи gzip;-v, --verbose— выводить список обработанных файлов.
Примеры[править | править код]
Создание 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 -

