Команда tar, её опции и ключи

Использование: tar [ОПЦИЯ...] [ФАЙЛ]...
GNU `tar' предназначен для сохранения файлов
на магнитную ленту или в архив на диске и
для восстановления отдельных файлов из
архива.

Примеры:
tar -cf archive.tar foo bar # Создание archive.tar из файлов
foo и bar.
tar -tvf archive.tar # Вывод подробного списка
всех файлов в архиве archive.tar.
tar -xf archive.tar # Извлечение всех файлов
из archive.tar.

Основной режим работы:

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

Модификаторы:

--check-device check device numbers when
creating incremental
archives (default)
-g, --listed-incremental=ФАЙЛ
обработка добавочного
резервирования нового
формата GNU
-G, --incremental обработка добавочного
резервирования старого
формата GNU
--ignore-failed-read не завершать работу при
ненулевом статусе для
нечитаемых файлов
-n, --seek доступен поиск по архиву
--no-check-device do not check device numbers when creating
incremental archives
--occurrence[=N] обработка только N-ого
вхождения для каждого
файла в архиве. Эта опция
верна только в сочетании с
одной из подкоманд --delete,
--diff, --extract или --list, и когда
список файлов задан либо в
командной строке, либо
через опцию -T. По умолчанию
N равен 1.
--sparse-version=MAJOR[.MINOR]
установить версию
используемого формата
разрежения (подразумевает
--sparse)
-S, --sparse эффективная обработка
разрежённых файлов

Управление перезаписью:

-k, --keep-old-files не перезаписывать
существующие файлы при
извлечении
--keep-newer-files не перезаписывать
существующие файлы,
которые более новые, чем их
копии в архиве
--no-overwrite-dir сохранение метаданных
существующих каталогов
--overwrite перезапись существующих
файлов при извлечении
--overwrite-dir перезапись существующих
файлов при извлечении (по
умолчанию)
--recursive-unlink очистка всей иерархии до
извлечения каталога
--remove-files удаление файлов после их
добавления в архив
-U, --unlink-first удаление каждого файла до
извлечения поверх него
-W, --verify попытка проверить архив
после его записи

Выбор выходного потока:

--ignore-command-error игнорировать коды
завершения дочерних
процессов
--no-ignore-command-error считать ненулевые коды
завершения дочерних
процессов как ошибку
-O, --to-stdout извлекать файлы на
стандартный вывод
--to-command=КОМАНДА
перенаправлять
извлечённые файлы в другую
программу

Обработка атрибутов файлов:

--atime-preserve[=СПОСОБ]
сохранять время доступа
скопированных файлов путём
восстановления времени
после чтения (СПОСОБ='replace';
используется по умолчанию)
или не установки времени в
первую очередь
(СПОСОБ='system')
--delay-directory-restore не устанавливать время
изменения и права доступа
извлечённых каталогов до
завершения процесса
извлечения
--group=ИМЯ принудительно
устанаваливать ИМЯ в
качестве группы для
добавленных файлов
--mode=РЕЖИМ принудительно
устанавливать (символьный)
РЕЖИМ доступа для
добавляемых файлов
--mtime=ДАТА-ИЛИ-ФАЙЛ
устанаваливать для
добавленных файлов mtime из
ДАТЫ-ИЛИ-ФАЙЛА
-m, --touch не извлекать время
изменения файла
--no-delay-directory-restore
отменить действие опции
--delay-directory-restore
--no-same-owner извлекать файлы как свои
собственные
--no-same-permissions применять umask пользователя
при извлечении прав
доступа из архива (по
умолчанию для обычных
пользователей)
--numeric-owner использовать числа вместо
имён владельца/группы
--owner=ИМЯ принудительно
устанаваливать ИМЯ в
качестве владельца для
добавленных файлов
-p, --preserve-permissions, --same-permissions
извлекать информацию о
правах доступа к файлу (по
умолчанию для
суперпользователя)
--preserve эквивалент -p и -s
--same-owner попытаться извлечь файлы с
тем же владельцем
-s, --preserve-order, --same-order
сортировать извлекаемые
имена в том же порядке, что
и в архиве

Выбор и переключение устройств:

-f, --file=АРХИВ использовать файл или
устройство АРХИВ
--force-local файл архива является
локальным, даже если
содержит двоеточие
-F, --info-script=ИМЯ, --new-volume-script=ИМЯ
запустить скрипт по
окончании каждой ленты
(подразумевается
использование -М)
-L, --tape-length=N сменить ленту после записи
ЧИСЛО x 1024 байт
-M, --multi-volume
создание/листинг/извлечение
многотомных архивов
--rmt-command=КОМАНДА
использовать указанную
КОМАНДУ rmt вместо rmt
--rsh-command=КОМАНДА
использовать удалённую
КОМАНДУ вместо rsh
--volno-file=ФАЙЛ использовать/обновлять
номера тома в ФАЙЛЕ

Разбиение на блоки:

-b, --blocking-factor=БЛОКИ
число БЛОКОВ x 512 байт на
запись
-B, --read-full-records заново разбивать на блоки
при чтении (для каналов
4.2BSD)
-i, --ignore-zeros игнорировать нулевые блоки
в архиве (т.е. EOF)
--record-size=N ЧИСЛО байт на запись,
кратное 512

Формата архива:

-H, --format=ФОРМАТ создать архив в указанном
формате

ФОРМАТОМ может быть:

Gnu формат GNU tar 1.13.х
oldgnu формат GNU как в tar