- КРАТКОЕ ОПИСАНИЕ
- ПРИМЕЧАНИЕ
- ОПИСАНИЕ
- ОПЦИИ
- Модификаторы операций
- Управление перезаписью
- Выбор выходного потока
- Обработка атрибутов файлов
- Расширенные атрибуты файлов
- Выбор и переключение устройств
- Блокировка устройств
- Выбор формата архива
- Опции сжатия
- Выбор локальных файлов
- Преобразование имен файлов
- Опции сопоставления имен файлов
- Информативный вывод
- Параметры совместимости
- Суффиксы размеров
- ЗНАЧЕНИЕ ВОЗВРАТА
- ССЫЛКИ
- СООБЩЕНИЯ ОБ ОШИБКАХ
- АВТОРСКИЕ ПРАВА
tar - утилита для архивирования
КРАТКОЕ ОПИСАНИЕ
Традиционное использование
tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]
Использование в стиле UNIX
tar -A [OPTIONS] -f ARCHIVE ARCHIVE...
tar -c [-f ARCHIVE] [OPTIONS] [FILE...]
tar -d [-f ARCHIVE] [OPTIONS] [FILE...]
tar -r [-f ARCHIVE] [OPTIONS] [FILE...]
tar -t [-f ARCHIVE] [OPTIONS] [MEMBER...]
tar -u [-f ARCHIVE] [OPTIONS] [FILE...]
tar -x [-f ARCHIVE] [OPTIONS] [MEMBER...]
Использование в стиле GNU
tar {--catenate|--concatenate} [OPTIONS] --file ARCHIVE ARCHIVE...
tar --create [--file ARCHIVE] [OPTIONS] [FILE...]
tar {--diff|--compare} [--file ARCHIVE] [OPTIONS] [FILE...]
tar --delete [--file ARCHIVE] [OPTIONS] [MEMBER...]
tar --append [--file ARCHIVE] [OPTIONS] [FILE...]
tar --list [--file ARCHIVE] [OPTIONS] [MEMBER...]
tar --test-label [--file ARCHIVE] [OPTIONS] [LABEL...]
tar --update [--file ARCHIVE] [OPTIONS] [FILE...]
tar {--extract|--get} [--file ARCHIVE] [OPTIONS] [MEMBER...]
ПРИМЕЧАНИЕ
Эта страница руководства представляет собой краткое описание GNU tar. Для получения подробной информации, включая примеры и рекомендации по использованию, обратитесь к руководству GNU Tar, доступному в формате texinfo. Если на вашей системе правильно установлены программа просмотра info и документация tar, команда
info tar
должна предоставить вам доступ к полному руководству.
Вы также можете просмотреть руководство, используя режим info в emacs(1), или найти его в различных форматах в Интернете по адресу:
https://www.gnu.org/software/tar/manual
Если возникают какие-либо расхождения между этой страницей руководства и руководством GNU Tar, последнее должно рассматриваться как авторитетный источник.
ОПИСАНИЕ
GNU tar — это программа для архивирования, предназначенная для хранения нескольких файлов в одном файле (архиве) и для манипулирования такими архивами. Архив может быть как обычным файлом, так и устройством (например, ленточным накопителем, отсюда и название программы, которое расшифровывается как архиватор ленты), и может находиться как на локальной машине, так и на удаленной.
Стиль указания параметров
Параметры GNU tar можно указывать в трех различных стилях. В традиционном стиле первый аргумент — это набор буквенных параметров, а все последующие аргументы предоставляют аргументы для тех параметров, которым они необходимы. Аргументы считываются в том же порядке, что и буквенные параметры. Любые командные слова, которые остаются после обработки всех параметров, рассматриваются как непараметрические аргументы: имена файлов или членов архива.
Например, параметр c требует создания архива, параметр v запрашивает подробный режим работы, а параметр f принимает аргумент, который задает имя архива, с которым нужно работать. Следующая команда, написанная в традиционном стиле, инструктирует tar сохранить все файлы из каталога /etc в архивный файл etc.tar, подробно перечисляя файлы, которые архивируются:
tar cfv etc.tar /etc
В стиле UNIX или в стиле коротких опций каждая буква опции предваряется одной чертой, как и в других утилитах командной строки. Если опция принимает аргумент, аргумент следует за ней либо как отдельное слово в командной строке, либо сразу после опции. Однако, если опция принимает необязательный аргумент, аргумент должен следовать за буквой опции без каких-либо промежуточных пробелов, например, -g/tmp/snar.db.
Любое количество опций, не принимающих аргументы, можно объединить в группу после одной черты, например, -vkp. Опция, принимающая аргумент (обязательный или необязательный), может появиться в конце такой группы, например, -vkpf a.tar.
Пример команды, приведенный выше, в стиле коротких опций может выглядеть так:
tar -cvf etc.tar /etc
или
tar -c -v -f etc.tar /etc
В стиле GNU или в стиле длинных опций каждая опция начинается с двух черт и имеет осмысленное имя, состоящее из строчных букв и дефисов. При использовании длинную опцию можно сократить до ее начальных букв, при условии, что это не приведет к неоднозначности. Аргументы для длинных опций передаются либо как отдельное слово в командной строке, сразу следующее за опцией, либо отделяются от опции знаком равенства без каких-либо промежуточных пробелов. Необязательные аргументы всегда должны использовать последний метод.
Вот несколько способов записи примера команды в этом стиле:
tar --create --file etc.tar --verbose /etc
или (сокращая некоторые опции):
tar --cre --file=etc.tar --verb /etc
Опции во всех трех стилях можно смешивать, хотя делать это со старыми опциями не рекомендуется.
Режим работы
Опции, перечисленные в таблице ниже, указывают GNU tar, какую операцию следует выполнить. Необходимо указать ровно одну из них. Значение не являющихся опциями аргументов зависит от запрошенного режима работы.
-A, --catenate, --concatenate
Добавить архивы в конец другого архива. Аргументы рассматриваются как имена архивов для добавления. Все архивы должны быть в том же формате, что и архив, к которому они добавляются, в противном случае полученный архив может быть неприменим к не-GNU-реализациям tar. Обратите внимание также, что если указано более одного архива, члены из архивов, отличных от первого, будут доступны в результирующем архиве только при использовании опции -i (--ignore-zeros).
Сжатые архивы нельзя объединять.
-c, --create
Создать новый архив. Аргументы задают имена файлов, которые будут архивированы. Каталоги архивируются рекурсивно, если не указана опция --no-recursion.
-d, --diff, --compare
Найти различия между архивом и файловой системой. Аргументы являются необязательными и указывают члены архива для сравнения. Если они не указаны, предполагается текущий рабочий каталог.
--delete
Удалить из архива. Аргументы содержат имена элементов архива, которые нужно удалить. Необходимо указать хотя бы один аргумент.
Эта опция не работает с сжатыми архивами. Короткого варианта этой опции нет.
-r, --append
Добавить файлы в конец архива. Аргументы имеют то же значение, что и для -c (--create).
-t, --list
Отобразить содержимое архива. Аргументы являются необязательными. При указании они определяют имена элементов, которые нужно отобразить.
--test-label
Проверить метку тома архива и завершить работу. При использовании без аргументов она выводит метку тома (если она есть) и завершает работу с кодом 0. При указании одного или нескольких аргументов командной строки tar сравнивает метку тома с каждым аргументом. Она завершает работу с кодом 0, если найдено совпадение, и с кодом 1 в противном случае. Вывод не отображается, если не используется вместе с опцией -v (--verbose).
Короткого варианта этой опции нет.
-u, --update
Добавить файлы, которые новее соответствующих копий в архиве. Аргументы имеют то же значение, что и для опций -c и -r. Обратите внимание, что новые файлы не заменяют старые копии в архиве, а вместо этого добавляются в конец архива. В результате в архиве может содержаться несколько элементов с одним и тем же именем, соответствующих различным версиям одного и того же файла.
-x, --extract, --get
Извлечь файлы из архива. Аргументы являются необязательными. При указании они определяют имена элементов архива, которые нужно извлечь.
--show-defaults
Отобразить встроенные значения по умолчанию для различных опций tar и завершить работу.
-?, --help
Отобразить краткое описание опций и завершить работу.
--usage
Отобразить список доступных опций и завершить работу.
--version
Вывести информацию о версии программы и авторских правах и завершить работу.
ОПЦИИ
Модификаторы операций
--check-device
Проверять номера устройств при создании инкрементных архивов (по умолчанию).
-g, --listed-incremental=FILE
Обрабатывать новые инкрементные резервные копии формата GNU. FILE — это имя файла моментального снимка, в котором tar хранит дополнительную информацию, используемую для определения файлов, изменившихся с момента предыдущей инкрементной резервной копии и, следовательно, которые необходимо снова включить в резервную копию. Если FILE не существует при создании архива, он будет создан, и все файлы будут добавлены в результирующий архив (резервная копия уровня 0). Для создания инкрементных архивов ненулевого уровня N необходимо иметь копию файла моментального снимка, созданного для уровня N-1, и использовать его в качестве FILE.
При перечислении или извлечении фактическое содержимое FILE не проверяется, оно требуется только из-за синтаксических требований. Поэтому обычной практикой является использование /dev/null вместо него.
--hole-detection=METHOD
Использовать METHOD для обнаружения пробелов в разреженных файлах. Эта опция подразумевает --sparse. Допустимые значения для METHOD: seek и raw. По умолчанию используется seek с переходом на raw, когда это невозможно.
-G, --incremental
Обрабатывать старые инкрементные резервные копии формата GNU.
--ignore-failed-read
Не завершать работу с ненулевым кодом возврата при ошибках чтения файлов.
--level=NUMBER
Задать уровень создания инкрементного архива. В настоящее время имеет смысл только --level=0: эта опция инструктирует tar обрезать файл снимка перед созданием архива, тем самым принудительно создавая инкрементный архив уровня 0.
-n, --seek
Предполагать, что архив поддерживает произвольный доступ. Обычно tar автоматически определяет, поддерживает ли архив произвольный доступ. Эта опция предназначена для использования в тех случаях, когда такое определение не удается. Она действует только в том случае, если архив открыт для чтения (например, с помощью опций --list или --extract).
--no-check-device
Не проверять номера устройств при создании инкрементных архивов.
--no-seek
Предполагать, что архив не поддерживает произвольный доступ.
--occurrence[=N]
Обрабатывать только N-е вхождение каждого файла в архиве. Эта опция действительна только при использовании с одной из следующих подкоманд: --delete, --diff, --extract или --list и при указании списка файлов либо в командной строке, либо с помощью опции -T. Значение по умолчанию для N — 1.
--restrict
Отключить использование некоторых потенциально опасных опций.
--sparse-version=MAJOR[.MINOR]
Указать, какую версию формата разреженных файлов использовать. Эта опция подразумевает использование опции --sparse. Допустимые значения аргументов: 0.0, 0.1 и 1.0. Для получения подробной информации о форматах разреженных файлов обратитесь к руководству GNU Tar, Приложение D, «Форматы разреженных файлов». С помощью программы просмотра info можно получить доступ к этой информации, выполнив следующую команду: info tar 'Форматы разреженных файлов'.
-S, --sparse
Эффективно обрабатывать разреженные файлы. Некоторые файлы в файловой системе могут содержать сегменты, которые фактически никогда не записывались (часто это файлы баз данных, созданные такими системами, как DBM). При использовании этой опции tar пытается определить, является ли файл разреженным, прежде чем архивировать его, и если да, то уменьшить размер результирующего архива, не сохраняя пустые части файла.
Управление перезаписью
Эти опции управляют действиями tar при извлечении файла поверх существующей копии на диске.
-k, --keep-old-files
Не заменять существующие файлы при извлечении.
--keep-newer-files
Не заменять существующие файлы, которые новее, чем их копии в архиве.
--keep-directory-symlink
Не заменять существующие символические ссылки на каталоги при извлечении.
--no-overwrite-dir
Сохранять метаданные существующих каталогов.
--one-top-level[=DIR]
Извлечь все файлы в DIR или, если используется без аргумента, в подкаталог с именем, взятым из базового имени архива (с удалением стандартных суффиксов сжатия, распознаваемых опцией --auto-compress).
--overwrite
Перезаписывать существующие файлы при извлечении.
--overwrite-dir
Перезаписывать метаданные существующих каталогов при извлечении (по умолчанию).
--recursive-unlink
Рекурсивно удалить все файлы в каталоге перед его извлечением.
--remove-files
Удалять файлы с диска после добавления их в архив.
--skip-old-files
Не заменять существующие файлы при извлечении, молча пропускать их.
-U, --unlink-first
Удалять каждый файл перед извлечением поверх него.
-W, --verify
Проверить архив после его записи.
Выбор выходного потока
--ignore-command-error
Игнорировать коды выхода подпроцессов.
--no-ignore-command-error
Рассматривать ненулевые коды выхода дочерних процессов как ошибки (по умолчанию).
-O, --to-stdout
Извлечь файлы в стандартный вывод.
--to-command=КОМАНДА
Передать извлеченные файлы в КОМАНДУ. Аргумент — это путь к внешней программе, возможно, с аргументами командной строки. Программа будет вызываться, и содержимое извлекаемого файла будет передаваться ей в стандартный ввод. Дополнительные данные будут передаваться через следующие переменные среды:
TAR_FILETYPE
Тип файла. Это одна буква со следующим значением:
f Обычный файл
d Каталог
l Символическая ссылка
h Жесткая ссылка
b Блочное устройство
c Символьное устройство
В настоящее время поддерживаются только обычные файлы.
TAR_MODE
Режим файла, восьмеричное число.
TAR_FILENAME
Имя файла.
TAR_REALNAME
Имя файла, хранящееся в архиве.
TAR_UNAME
Имя владельца файла.
TAR_GNAME
Имя группы владельца файла.
TAR_ATIME
Время последнего доступа. Это десятичное число, представляющее секунды с начала эпохи. Если в архиве указано время с наносекундной точностью, наносекунды добавляются к временной метке после десятичной точки.
TAR_MTIME
Время последнего изменения.
TAR_CTIME
Время последнего изменения состояния.
TAR_SIZE
Размер файла.
TAR_UID
UID владельца файла.
TAR_GID
GID владельца файла.
Кроме того, следующие переменные содержат информацию о режиме работы tar и обрабатываемом архиве:
TAR_VERSION
Номер версии GNU tar.
TAR_ARCHIVE
Имя архива, который обрабатывает tar.
TAR_BLOCKING_FACTOR
Текущий коэффициент блокировки, т. е. количество 512-байтных блоков в записи.
TAR_VOLUME
Очередной номер обрабатываемого тома (устанавливается при чтении многотомного архива).
TAR_FORMAT
Формат обрабатываемого архива. Одно из: gnu, oldgnu, posix, ustar, v7.
TAR_SUBCOMMAND
Короткий вариант (с начальной прочерком), описывающий операцию, выполняемую tar.
Обработка атрибутов файлов
--atime-preserve[=METHOD]
Сохранять время доступа к дампированным файлам, либо восстанавливая время после чтения (METHOD=replace, это значение по умолчанию), либо не устанавливая время вообще (METHOD=system).
--delay-directory-restore
Задерживать установку времени изменения и разрешений извлеченных каталогов до окончания извлечения. Используйте эту опцию при извлечении из архива, в котором используется необычный порядок членов.
--group=NAME[:GID]
Принудительно устанавливать NAME в качестве группы для добавляемых файлов. Если GID не указан, NAME может быть либо именем пользователя, либо числовым GID. В этом случае недостающая часть (GID или имя) будет получена из базы данных групп текущего хоста.
При использовании с --group-map=FILE, влияет только на те файлы, чья группа владельца не указана в FILE.
--group-map=FILE
Читать карту преобразования групп из FILE. Пустые строки игнорируются. Комментарии начинаются с символа # и продолжаются до конца строки. Каждая непустая строка в FILE определяет преобразование для одной группы. Она должна состоять из двух полей, разделенных любым количеством пробелов:
OLDGRP NEWGRP[:NEWGID]
OLDGRP — это либо допустимое имя группы, либо GID с префиксом +. Если не указан NEWGID,
NEWGRP также должен быть либо допустимым именем группы, либо +GID. В противном случае, ни
NEWGRP, ни NEWGID не обязательно должны быть указаны в системной базе данных групп.
В результате каждый файл, входящий в архив и имеющий владельца с группой OLDGRP, будет
сохранен в архиве с владельцем, принадлежащим к группе NEWGRP, и GID NEWGID.
--mode=CHANGES
Принудительно устанавливает символический режим CHANGES для добавленных файлов.
--mtime=DATE-OR-FILE
Устанавливает время изменения для добавленных файлов. DATE-OR-FILE — это либо дата/время в
почти произвольном формате, либо имя существующего файла. В последнем случае будет использовано
время изменения этого файла.
-m, --touch
Не извлекать время изменения файла.
--no-delay-directory-restore
Отменяет эффект предыдущей опции --delay-directory-restore.
--no-same-owner
Извлекать файлы от имени текущего пользователя (по умолчанию для обычных пользователей).
--no-same-permissions
Применять маску пользователя (umask) при извлечении разрешений из архива (по умолчанию для
обычных пользователей).
--numeric-owner
Всегда использовать числовые значения для имени/GID пользователя.
--owner=NAME[:UID]
Принудительно устанавливает NAME в качестве владельца для добавленных файлов. Если UID не
указан, NAME может быть либо именем пользователя, либо числовым UID. В этом случае недостающая
часть (UID или имя) будет получена из базы данных пользователей текущего хоста.
При использовании с --owner-map=FILE, применяется только к файлам, чей владелец не указан в
FILE.
--owner-map=FILE
Читать карту преобразования владельцев из FILE. Пустые строки игнорируются. Комментарии
начинаются с символа # и продолжаются до конца строки. Каждая непустая строка в FILE определяет
преобразование для одного UID. Она должна состоять из двух полей, разделенных любым количеством
пробелов:
OLDUSR NEWUSR[:NEWUID]
OLDUSR — это либо допустимое имя пользователя, либо UID с префиксом +. Если не указан NEWUID,
NEWUSR также должен быть либо допустимым именем пользователя, либо +UID. В противном случае, ни
NEWUSR, ни NEWUID не обязательно должны быть указаны в системной базе данных пользователей.
В результате каждый файл, принадлежащий пользователю OLDUSR, будет сохранен в архиве с именем
пользователя NEWUSR и UID NEWUID.
-p, --preserve-permissions, --same-permissions
Устанавливать разрешения извлеченных файлов в соответствии с разрешениями, записанными в архиве
(по умолчанию для суперпользователя).
--same-owner
Попытаться извлекать файлы с тем же владельцем, что и в архиве (по умолчанию для
суперпользователя).
-s, --preserve-order, --same-order
Сообщить tar, что список имен файлов для обработки отсортирован в том же порядке, что и файлы в
архиве.
--sort=ORDER
При создании архива сортировать записи каталогов в соответствии с ORDER, который может быть
один из следующих: none, name или inode.
По умолчанию используется --sort=none, что сохраняет элементы архива в том же порядке, в котором
они возвращаются операционной системой.
Использование --sort=name гарантирует, что порядок элементов в созданном архиве будет
одинаковым и воспроизводимым.
Использование --sort=inode уменьшает количество обращений к диску при создании архива и, следовательно, может значительно ускорить архивацию. Этот порядок сортировки поддерживается только в том случае, если базовая система предоставляет необходимую информацию.
Расширенные атрибуты файлов
`--acls` Включить поддержку POSIX ACL.
`--no-acls`
Отключить поддержку POSIX ACL.
`--selinux`
Включить поддержку контекста SELinux.
`--no-selinux`
Отключить поддержку контекста SELinux.
`--xattrs`
Включить поддержку расширенных атрибутов.
`--no-xattrs`
Отключить поддержку расширенных атрибутов.
`--xattrs-exclude=PATTERN`
Укажите шаблон исключения для ключей xattr. PATTERN — это шаблон glob, например, --xattrs-exclude='user.\*' для включения только атрибутов из пространства имен user.
`--xattrs-include=PATTERN`
Укажите шаблон включения для ключей xattr. PATTERN — это шаблон glob.
Выбор и переключение устройств
`-f, --file=ARCHIVE`
Использовать файл архива или устройство ARCHIVE. Если этот параметр не указан, tar сначала проверяет переменную среды TAPE. Если она установлена, ее значение будет использоваться в качестве имени архива. В противном случае tar предполагает значение по умолчанию, которое было скомпилировано. Значение по умолчанию можно проверить, используя параметр --show-defaults или в конце вывода tar --help.
Имя архива, содержащее двоеточие, указывает на файл или устройство на удаленной машине. Часть перед двоеточием рассматривается как имя машины или IP-адрес, а часть после него — как путь к файлу или устройству, например:
`--file=remotehost:/dev/sr0`
Необязательное имя пользователя можно добавить в начало имени хоста, поставив между ними символ @.
По умолчанию удаленный хост доступен с помощью команды rsh(1). В настоящее время обычно используется ssh(1) вместо этого. Вы можете сделать это, указав следующий параметр командной строки:
`--rsh-command=/usr/bin/ssh`
На удаленной машине должна быть установлена команда rmt(8). Если ее путь не соответствует пути по умолчанию в tar, вы можете сообщить tar о правильном пути, используя параметр --rmt-command.
`--force-local`
Файл архива является локальным, даже если в нем есть двоеточие.
`-F, --info-script=COMMAND, --new-volume-script=COMMAND`
Выполнить COMMAND в конце каждой ленты (подразумевает -M). Команда может содержать аргументы. При запуске она наследует среду tar, а также следующие переменные:
`TAR_VERSION`
Номер версии GNU tar.
`TAR_ARCHIVE`
Имя архива, с которым работает tar.
`TAR_BLOCKING_FACTOR`
Текущий коэффициент блокировки, т.е. количество 512-байтовых блоков в записи.
`TAR_VOLUME`
Очередной номер тома, который обрабатывает tar (устанавливается, если выполняется чтение многотомного архива).
`TAR_FORMAT`
Формат обрабатываемого архива. Одно из следующих значений: gnu, oldgnu, posix, ustar, v7.
`TAR_SUBCOMMAND`
Короткий параметр (с начальной чертой), описывающий операцию, которую выполняет tar.
`TAR_FD`
Дескриптор файла, который можно использовать для передачи имени нового тома в tar.
Если скрипт info завершится с ошибкой, tar завершит работу; в противном случае он начнет запись следующего тома.
-L, --tape-length=N
Изменить ленту после записи Nx1024 байт. Если за N следует суффикс размера (см. подраздел Суффиксы размеров ниже), суффикс указывает на множитель, который следует использовать вместо 1024.
Эта опция подразумевает -M.
-M, --multi-volume
Создать/перечислить/извлечь многотомный архив.
--rmt-command=COMMAND
Использовать COMMAND вместо rmt при доступе к удаленным архивам. См. описание опции -f выше.
--rsh-command=COMMAND
Использовать COMMAND вместо rsh при доступе к удаленным архивам. См. описание опции -f выше.
--volno-file=FILE
Когда эта опция используется в сочетании с --multi-volume, tar будет отслеживать, на каком томе многотомного архива он работает, в файле FILE.
Блокировка устройств
-b, --blocking-factor=BLOCKS
Установить размер записи равным BLOCKSx512 байт.
-B, --read-full-records
При перечислении или извлечении принимать неполные входные записи после маркера конца файла.
-i, --ignore-zeros
Игнорировать блоки, заполненные нулями, в архиве. Обычно два последовательных блока размером 512 байт, заполненных нулями, означают конец файла, и tar прекращает чтение после их обнаружения. Эта опция предписывает ему продолжать чтение и полезна при чтении архивов, созданных с помощью опции -A.
--record-size=NUMBER
Установить размер записи. NUMBER — это количество байтов на запись. Он должен быть кратен 512. Его можно дополнить суффиксом размера, например, --record-size=10K, для 10 килобайт. См. подраздел Суффиксы размеров, для списка допустимых суффиксов.
Выбор формата архива
-H, --format=FORMAT
Создать архив в указанном формате. Допустимые форматы:
gnu Формат GNU tar 1.13.x
oldgnu Формат GNU, как в tar <= 1.12.
pax, posix
Формат POSIX 1003.1-2001 (pax).
ustar Формат POSIX 1003.1-1988 (ustar).
v7 Старый формат V7 tar.
--old-archive, --portability
То же, что и --format=v7.
--pax-option=keyword[[:]=value][,keyword[[:]=value]]...
Управление ключевыми словами pax при создании архивов PAX (-H pax). Эта опция эквивалентна опции -o утилиты pax(1).
--posix
То же, что и --format=posix.
-V, --label=TEXT
Создать архив с именем тома TEXT. При перечислении или извлечении использовать TEXT в качестве шаблона для имени тома.
Опции сжатия
-a, --auto-compress
Использовать суффикс архива для определения программы сжатия.
-I, --use-compress-program=COMMAND
Отфильтровать данные с помощью COMMAND. Он должен принимать опцию -d для распаковки. Аргумент может содержать параметры командной строки.
-j, --bzip2
Отфильтровать архив с помощью [bzip2]({filename}bzip2.md)(1).
-J, --xz
Отфильтровать архив с помощью [xz]({filename}../../xz)(1).
--lzip Отфильтровать архив с помощью lzip(1).
--lzma Отфильтровать архив с помощью lzma(1).
--lzop Отфильтровать архив с помощью lzop(1).
--no-auto-compress
Не использовать суффикс архива для определения программы сжатия.
-z, --gzip, --gunzip, --ungzip
Отфильтровать архив с помощью [gzip]({filename}../../gzip)(1).
-Z, --compress, --uncompress
Отфильтровать архив с помощью compress(1).
--zstd Отфильтруйте архив с помощью zstd(1).
Выбор локальных файлов
--add-file=FILE
Добавьте FILE в архив (полезно, если его имя начинается с дефиса).
--backup[=CONTROL]
Создайте резервную копию перед удалением. Аргумент CONTROL, если он указан, определяет политику резервного копирования. Допустимые значения:
none, off
Никогда не создавать резервные копии.
t, numbered
Создавать резервные копии с нумерацией.
nil, existing
Создавать резервные копии с нумерацией, если существуют резервные копии с нумерацией, в противном случае – простые резервные копии.
never, simple
Всегда создавать простые резервные копии.
Если CONTROL не указан, значение берется из переменной среды VERSION_CONTROL. Если она не установлена, предполагается значение existing.
-C, --directory=DIR
Перейдите в каталог DIR перед выполнением каких-либо операций. Эта опция учитывает порядок, т. е. она влияет на все последующие опции.
--exclude=PATTERN
Исключите файлы, соответствующие PATTERN, шаблону подстановки в стиле glob(3).
--exclude-backups
Исключите файлы резервных копий и блокировок.
--exclude-caches
Исключите содержимое каталогов, содержащих файл CACHEDIR.TAG, за исключением самого файла.
--exclude-caches-all
Исключите каталоги, содержащие файл CACHEDIR.TAG, и сам файл.
--exclude-caches-under
Исключите все, что находится в каталогах, содержащих CACHEDIR.TAG.
--exclude-ignore=FILE
Перед дампом каталога проверьте, содержит ли он FILE. Если да, прочитайте шаблоны исключения из этого файла. Шаблоны влияют только на сам каталог.
--exclude-ignore-recursive=FILE
То же, что и --exclude-ignore, но шаблоны из FILE влияют как на каталог, так и на все его подкаталоги.
--exclude-tag=FILE
Исключите содержимое каталогов, содержащих FILE, за исключением самого FILE.
--exclude-tag-all=FILE
Исключите каталоги, содержащие FILE.
--exclude-tag-under=FILE
Исключите все, что находится в каталогах, содержащих FILE.
--exclude-vcs
Исключите каталоги системы контроля версий.
--exclude-vcs-ignores
Исключите файлы, соответствующие шаблонам, прочитанным из файлов игнорирования, специфичных для системы контроля версий. Поддерживаемые файлы: .cvsignore, .gitignore, .bzrignore и .hgignore.
-h, --dereference
Перейдите по символическим ссылкам; архивируйте и дампируйте файлы, на которые они указывают.
--hard-dereference
Перейдите по жестким ссылкам; архивируйте и дампируйте файлы, на которые они ссылаются.
-K, --starting-file=MEMBER
Начните с указанного элемента в архиве.
--newer-mtime=DATE
Работайте с файлами, дата изменения которых новее, чем DATE. Если DATE начинается с / или ., то она считается именем файла, и время изменения этого файла используется в качестве даты.
--no-null
Отключите эффект предыдущей опции --null.
--no-recursion
Прекратите автоматический переход в подкаталоги.
--no-unquote
Не выполняйте разбор имен файлов или элементов.
--no-verbatim-files-from
Обрабатывайте каждую строку, прочитанную из файла со списком файлов, как если бы она была передана в командной строке. Т. е. начальные и конечные пробелы удаляются, и если результирующая строка начинается с дефиса, она рассматривается как опция команды tar.
Это поведение по умолчанию. Опция --no-verbatim-files-from предоставляется как способ восстановить его после опции --verbatim-files-from.
Этот параметр является позиционным: он влияет на все последующие параметры --files-from до параметра --verbatim-files-from или до конца строки, в зависимости от того, что произойдет раньше.
Он подразумевается параметром --no-null.
`--null` – указывает последующим параметрам `-T` считывать имена, разделенные символом NULL, дословно (отключает специальную обработку имен, начинающихся с дефиса).
См. также --verbatim-files-from.
`-N`, `--newer=DATE`, `--after-date=DATE`
Сохранять только файлы, более новые, чем DATE. Если DATE начинается с `/` или `.`, он интерпретируется как имя файла; время последнего изменения этого файла используется в качестве даты.
`--one-file-system`
При создании архива оставаться в локальной файловой системе.
`-P`, `--absolute-names`
Не удалять начальные слеши из имен файлов при создании архивов.
`--recursion`
Рекурсивно обходить каталоги (по умолчанию).
`--suffix=STRING`
Создать резервную копию перед удалением, переопределить обычный суффикс. Суффикс по умолчанию — `~`, если не переопределен переменной окружения `SIMPLE_BACKUP_SUFFIX`.
`-T`, `--files-from=FILE`
Получать имена для извлечения или создания из FILE.
Если не указано иное, FILE должен содержать список имен, разделенных символами ASCII LF (т. е. одно имя на строку). Прочитанные имена обрабатываются так же, как аргументы командной строки. Они подвергаются удалению кавычек и разделению на слова, и любая строка, начинающаяся с `-`, обрабатывается как опция командной строки tar.
Если такое поведение нежелательно, его можно отключить с помощью опции `--verbatim-files-from`.
Опция `--null` указывает tar, что имена в FILE разделены символом ASCII NUL вместо LF. Это полезно, если список генерируется командой `[find]({filename}../../find)(1)` с предикатом `-print0`.
`--unquote`
Удалить кавычки из имен файлов или членов архива (по умолчанию).
`--verbatim-files-from`
Рассматривать каждую строку, полученную из файла со списком, как имя файла, даже если она начинается с дефиса.
Списки файлов передаются с помощью опции `--files-from (-T)`. По умолчанию имена, указанные в списках файлов, обрабатываются так, как если бы они были введены в командной строке, т. е. любые имена, начинающиеся с дефиса, рассматриваются как опции tar. Опция `--verbatim-files-from` отключает это поведение.
Эта опция влияет на все последующие опции `--files-from` в командной строке. Ее эффект отменяется опцией `--no-verbatim-files-from`.
Эта опция подразумевается опцией `--null`.
См. также `--add-file`.
`-X`, `--exclude-from=FILE`
Исключить файлы, соответствующие шаблонам, указанным в FILE.
Преобразование имен файлов
`--strip-components=NUMBER`
Удалить NUMBER начальных компонентов из имен файлов при извлечении.
`--transform=EXPRESSION`, `--xform=EXPRESSION`
Использовать замену sed EXPRESSION для преобразования имен файлов.
Опции сопоставления имен файлов
Эти опции влияют как на исключающие, так и на включающие шаблоны.
`--anchored`
Шаблоны соответствуют началу имени файла.
`--ignore-case`
Игнорировать регистр.
`--no-anchored`
Шаблоны соответствуют после любого `/` (по умолчанию для исключения).
`--no-ignore-case`
Сопоставление с учетом регистра (по умолчанию).
`--no-wildcards`
Дословное сопоставление строк.
`--no-wildcards-match-slash`
Подстановочные знаки не соответствуют `/`.
`--wildcards`
Использовать подстановочные знаки (по умолчанию для исключения).
--wildcards-match-slash
Подстановочные знаки соответствуют символу / (по умолчанию для исключения).
Информативный вывод
--checkpoint[=N]
Отображать сообщения о прогрессе каждые N-ные записи (по умолчанию 10).
--checkpoint-action=ДЕЙСТВИЕ
Выполнять ДЕЙСТВИЕ при каждом достижении контрольной точки.
--clamp-mtime
Устанавливать время только если файл новее, чем указано в --mtime.
--full-time
Выводить время файла с максимальным разрешением.
--index-file=ФАЙЛ
Отправлять подробный вывод в ФАЙЛ.
-l, --check-links
Выводить сообщение, если не все ссылки были обработаны.
--no-quote-chars=СТРОКА
Отключить экранирование символов из СТРОКИ.
--quote-chars=СТРОКА
Дополнительно экранировать символы из СТРОКИ.
--quoting-style=СТИЛЬ
Установить стиль экранирования для имен файлов и членов архива. Допустимые значения для СТИЛЯ: literal, shell, shell-always, c, c-maybe, escape, locale, clocale.
-R, --block-number
Показывать номер блока внутри архива с каждым сообщением.
--show-omitted-dirs
При просмотре или извлечении, отображать каждую директорию, которая не соответствует критериям поиска.
--show-transformed-names, --show-stored-names
Показывать имена файлов или архивов после преобразования опциями --strip и --transform.
--totals[=СИГНАЛ]
Выводить общий объем байтов после обработки архива. Если указан СИГНАЛ, выводить общий объем байтов при получении этого сигнала. Допустимые сигналы: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2. Префикс SIG можно опустить.
--utc
Выводить время изменения файла в формате UTC.
-v, --verbose
Подробно выводить список обработанных файлов. Каждое использование этой опции в командной строке увеличивает уровень детализации на 1. Максимальный уровень детализации — 3. Для получения подробной информации о том, как различные уровни детализации влияют на вывод tar, обратитесь к GNU Tar Manual, подразделу 2.5.2 «Опция '--verbose'».
--warning=КЛЮЧЕВОЕ_СЛОВО
Включить или отключить сообщения о предупреждениях, идентифицируемые по КЛЮЧЕВОМУ_СЛОВУ. Сообщения подавляются, если КЛЮЧЕВОЕ_СЛОВО имеет префикс no-, и включаются в противном случае.
Несколько опций --warning накапливаются.
Ключевые слова, управляющие общей операцией tar:
all
Включить все сообщения о предупреждениях. Это значение используется по умолчанию.
none
Отключить все сообщения о предупреждениях.
filename-with-nuls
"%s: имя файла содержит нулевой символ"
alone-zero-block
"Одиночный нулевой блок в %s"
Ключевые слова, применимые для tar --create:
cachedir
"%s: содержит тег каталога кэша %s; %s"
file-shrank
"%s: размер файла уменьшился на %s байт; заполняется нулями"
xdev
"%s: файл находится в другой файловой системе; не добавляется"
file-ignored
"%s: неизвестный тип файла; файл игнорируется" "%s: сокет игнорируется" "%s: door игнорируется"
file-unchanged
"%s: файл не изменился; не добавляется"
ignore-archive
"%s: архив не может содержать сам себя; не добавляется"
file-removed
"%s: файл был удален до того, как мы его прочитали"
file-changed
"%s: файл изменился во время чтения"
failed-read
Подавляет предупреждения о нечитаемых файлах или каталогах. Это ключевое слово применяется только при использовании вместе с опцией --ignore-failed-read.
Ключевые слова, применимые для tar --extract:
existing-file
"%s: существующий файл пропускается"
timestamp
"%s: обнаружена аномально старая временная метка %s"
"%s: временная метка %s на %s секунд в будущем"
contiguous-cast
"Извлечение смежных файлов как обычных файлов"
symlink-cast
"Попытка извлечения символических ссылок как жестких ссылок"
unknown-cast
"%s: Неизвестный тип файла '%c', извлечен как обычный файл"
ignore-newer
"Текущий %s новее или имеет ту же дату"
unknown-keyword
"Игнорирование неизвестного расширенного ключевого слова заголовка '%s'"
decompress-program
Управляет подробным описанием сбоев, возникающих при попытке запуска альтернативных программ декомпрессии. По умолчанию это предупреждение отключено (если не используется --verbose). Типичный пример того, что можно получить при использовании этого предупреждения:
$ tar --warning=decompress-program -x -f archive.Z
tar (дочерний процесс): не удается запустить compress: Нет такого файла или каталога
tar (дочерний процесс): попытка использования gzip
Это означает, что tar сначала попытался распаковать archive.Z с помощью compress, и, когда это не удалось, переключился на gzip.
record-size
"Размер записи = %lu блоков"
Ключевые слова, управляющие инкрементным извлечением:
rename-directory
"%s: Каталог был переименован из %s"
"%s: Каталог был переименован"
new-directory
"%s: Каталог новый"
xdev "%s: каталог находится на другом устройстве: очистка не выполняется"
bad-dumpdir
"Неверный dumpdir: 'X' не используется"
-w, --interactive, --confirmation
Запрашивать подтверждение для каждого действия.
Параметры совместимости
-o При создании, то же, что и --old-archive. При извлечении, то же, что и --no-same-owner.
Суффиксы размеров
Суффикс Единицы измерения Эквивалент в байтах
b Блоки SIZE x 512
B Килобайты SIZE x 1024
c Байты SIZE
G Гигабайты SIZE x 1024^3
K Килобайты SIZE x 1024
k Килобайты SIZE x 1024
M Мегабайты SIZE x 1024^2
P Петабайты SIZE x 1024^5
T Терабайты SIZE x 1024^4
w Слова SIZE x 2
ЗНАЧЕНИЕ ВОЗВРАТА
Код выхода tar указывает, удалось ли успешно выполнить запрошенную операцию, и если нет, то какой вид ошибки произошел.
0 Успешное завершение.
1 Некоторые файлы различаются. Если tar был вызван с помощью опции командной строки --compare (--diff, -d), это означает, что некоторые файлы в архиве отличаются от соответствующих файлов на диске. Если
tar была передана одна из опций --create, --append или --update, этот код выхода означает, что
некоторые файлы были изменены во время архивирования, и, следовательно, результирующий архив не содержит
точную копию набора файлов.
2 Фатальная ошибка. Это означает, что произошла какая-то фатальная, необратимая ошибка.
Если подпроцесс, который был вызван tar, завершился с ненулевым кодом выхода, то tar также завершается с тем же кодом. Это может произойти, например, если использовалась опция сжатия (например, -z) и внешняя программа сжатия не сработала. Другой пример - сбой rmt во время резервного копирования на удаленное устройство.
ССЫЛКИ
bzip2(1), compress(1), gzip(1), lzma(1), lzop(1), rmt(8), symlink(7), xz(1), zstd(1).
Полное руководство по tar: запустите info tar или используйте emacs(1) в режиме info для чтения.
Онлайн-копии документации GNU tar в различных форматах можно найти по адресу:
https://www.gnu.org/software/tar/manual
СООБЩЕНИЯ ОБ ОШИБКАХ
Сообщайте об ошибках по адресу <_>.
АВТОРСКИЕ ПРАВА
Авторское право © 2023 Free Software Foundation, Inc. Лицензия GPLv3+: GNU GPL версии 3 или более поздней [http://gnu.org/licenses/gpl.html] Это свободное программное обеспечение: вы можете изменять и распространять его. Гарантий нет, в той мере, в какой это разрешено законом.