Tar
tar — утилита для сбора множества файлов в один архивный файл, часто называемый tarball, для распространения или резервного копирования. Название происходит от «tape archive» (ленточный архив), поскольку изначально он был разработан для записи данных на последовательные устройства ввода-вывода, не имеющие собственной файловой системы, такие как устройства, использующие магнитную ленту. Архивные наборы данных, созданные tar, содержат различные параметры файловой системы, такие как имя, временные метки, владелец, права доступа к файлам и структура каталогов. POSIX отказался от tar в пользу pax, но tar по-прежнему широко используется.
Что важно знать
| tar | |
|---|---|
| Расширение |
.tar |
| MIME-тип | application/x-tar |
| Сигнатура |
u s t a r \0 0 0 на байте 257 ("ustar", нулевой байт, два '0', 8 байтов в сумме) |
| Разработчик | Bell Labs |
| Опубликован | январь 1979 |
| Последний выпуск | 1.35 (18 июля 2023) |
| Тип формата | архиватор |
| Содержится в | gzip, bzip2, lzip, lzma, xz, lzop, compress, Zstandard |
| Открытый формат? | да |
Примечание
Расширения имён файлов
Для файлов, содержащих архивы tar, традиционно применяется расширение имени файла .tar. В случае дополнительного сжатия другими программами применяются следующие расширения:
Синтаксис
tar [-опции] <имя архива tar> [файлы или папки, которые необходимо поместить в архив при сжатии]
Основные опции:
-c, --create— создать архив;-a, --auto-compress— дополнительно сжать архив с компрессором который автоматически определить по расширению архива. Если имя архива заканчивается на*.tar.gzто с помощью GZip, если*.tar.xzто с помощью XZ,*.tar.zstдля Zstandard и.т.п;-r, --append— добавить файлы в конец существующего архива;-x, --extract, --get— извлечь файлы из архива;-f, --file— указать имя архива;-t, --list— отобразить список файлов и папок в архиве;-v, --verbose— выводить список обработанных файлов.
Примеры
Создание архива archive.tar из файла README.txt и каталога src:
tar -cvf archive.tar README.txt src
Извлечение содержимого archive.tar в текущий каталог:
tar -xvf archive.tar
Создание архива archive.tar.gz из файла README.txt и каталога src и сжатие его с помощью gzip :
tar -cavf archive.tar.gz README.txt src
Извлечение содержимого archive.tar.gz в текущий каталог:
tar -xvf archive.tar.gz
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 -


