НАЗВА

tar — програма для архівування

КОРОТКИЙ ОПИС

Традиційне користування

tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ АРГУМЕНТ...]

Користування у стилі UNIX

tar -A [ПАРАМЕТРИ] АРХІВ АРХІВ
 
tar -c [-f АРХІВ] [ ПАРАМЕТРИ] [ ФАЙЛ...]
 
tar -d [-f АРХІВ] [ ПАРАМЕТРИ] [ ФАЙЛ...]
 
tar -t [-f АРХІВ] [ ПАРАМЕТРИ] [ ЕЛЕМЕНТ...]
 
tar -r [-f АРХІВ] [ ПАРАМЕТРИ] [ ФАЙЛ...]
 
tar -u [-f АРХІВ] [ ПАРАМЕТРИ] [ ФАЙЛ...]
 
tar -x [-f АРХІВ] [ ПАРАМЕТРИ] [ ЕЛЕМЕНТ...]

Користування у стилі GNU

tar {--catenate|--concatenate} [ПАРАМЕТРИ] АРХІВ АРХІВ
 
tar --create [--file АРХІВ] [ ПАРАМЕТРИ] [ ФАЙЛ...]
 
tar {--diff|--compare} [--file АРХІВ] [ ПАРАМЕТРИ] [ ФАЙЛ...]
 
tar --delete [--file АРХІВ] [ ПАРАМЕТРИ] [ ЕЛЕМЕНТ...]
 
tar --append [-f АРХІВ] [ ПАРАМЕТРИ] [ ФАЙЛ...]
 
tar --list [-f АРХІВ] [ ПАРАМЕТРИ] [ ЕЛЕМЕНТ...]
 
tar --test-label [--file АРХІВ] [ ПАРАМЕТРИ] [ LABEL...]
 
tar --update [--file АРХІВ] [ ПАРАМЕТРИ] [ ФАЙЛ...]
 
tar --update [-f АРХІВ] [ ПАРАМЕТРИ] [ ФАЙЛ...]
 
tar {--extract|--get} [-f АРХІВ] [ ПАРАМЕТРИ] [ ЕЛЕМЕНТ...]

НОТАТКА

На цій сторінці підручника наведено короткий опис GNU tar. Докладне обговорення, разом із прикладами та рекомендаціями щодо застосування, наведено у підручнику з GNU Tar у форматі texinfo. Якщо у вашій системі встановлено засіб для читання info і належним чином встановлено документацію з tar, за допомогою команди
info tar
ви зможете отримати доступ до повноцінного підручника.
Ви також можете переглянути цей підручник, скориставшись режимом info в emacs(1) або знайти у його у різноманітних форматах в інтернеті за адресою
Якщо існують якісь відмінності між цією сторінкою підручника і Підручником з GNU Tar, слід вважати авторитетнішим джерелом саме підручник.

ОПИС

GNU tar — програма для архівування, яку розроблено для зберігання декількох файлів в одному файлі ( архіві), та роботи з архівами. Архівом може бути або звичайний файл, або пристрій (наприклад, накопичувач на магнітній стрічці, звідки походить назва програми tape archiver або «архіватор на стрічці»), які може бути розташовано на локальній або віддаленій машині.

Стилі параметрів

Параметри 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
Дописати архів наприкінці іншого архіву. Аргументи вважають назвами архівів, які слід дописати. Усі архіви має бути створено в одному форматі із архівом, до якого їх дописують, оскільки якщо таке правило буде порушено, архів-результат може стати непридатним у реалізаціях tar, відмінних від GNU. Зауважте також, що якщо вказано декілька архівів, елементи з архівів, окрім першого, будуть доступними, лише якщо використано параметр -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=ФАЙЛ
Обробити нові нарощувальні резервні копії у новому форматі GNU. ФАЙЛ є назвою файла знімка, у якому tar зберігає додаткові відомості, які використовують для визначення, які файли було змінено з часу створення попереднього нарощувального дампу, і, відповідно, для яких слід знову створити дамп. Якщо ФАЙЛа не існує під час створення архіву, його буде створено, і усі файли буде додано до архіву-результату (дампу рівня 0). Для створення нарощувальних архівів ненульового рівня N, створіть копію файл знімка, створеного на рівні N-1, і скористайтеся його назвою як аргументом ФАЙЛ. При виведенні списків вмісту або видобуванні сам вміст ФАЙЛа не буде проаналізовано — він потрібен лише через синтаксичні вимоги. Через це, типовим є використання значення /dev/null.
--hole-detection=МЕТОД
Скористатися МЕТОДом для виявлення порожнин у розріджених файлах. Цей параметр неявним чином встановлює параметр --sparse. Коректними значеннями для МЕТОДу є seek і raw. Типовим є seek із резервним варіантом raw, якщо цей варіант застосувати не вдасться.
-G, --incremental
Обробка застарілого формату GNU нарощувальних резервних копій.
--ignore-failed-read
Ігнорувати помилки читання файлів.
--level=ЧИСЛО
Встановити рівень створення дампу для списково-нарощувального архіву. У поточній версії має значення лише --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=ОСНОВНА[.ПРОМІЖНА]
Встановити версію розрідженого формату, якою слід скористатися (неявним чином встановлює --sparse). Коректними значеннями аргументу є такі: 0.0, 0.1 та 1.0. Докладний опис розріджених форматів можна знайти у Підручнику з GNU Tar, додаток D, « Розріджені формати». Якщо скористатися info, доступ до документації можна отримати за допомогою такої команди: info tar 'Sparse Formats'.
-S, --sparse
Ефективна обробка розріджених файлів. Деякі файли у файловій системі можуть мати сегменти, які, насправді, ніколи не записуються (дуже часто це файли бази даних, які створено такими системами, як DBM). Якщо вказано цей параметр, tar спробує визначити, чи є файл розрідженим до його архівування, і якщо це так, зменшити розмір архіву-результату шляхом пропускання порожніх частин файла.

Керування перезаписом

Ці параметри керують діями tar при видобуванні файла до наявної копії на диску.
-k, --keep-old-files
Не перезаписувати наявні файли під час видобування.
--keep-newer-files
Не заміняти наявні файли, що є новішими за їхні копії у архіві.
--keep-directory-symlink
Не заміняти наявні символічні посилання на каталоги під час видобування.
--no-overwrite-dir
Зберігати метадані наявних каталогів.
--one-top-level[=КАТАЛОГ]
Видобути усі файли до КАТАЛОГу або, якщо використано без аргументу, до підкаталогу із назвою, яка збігається із базовою назвою архіву (без стандартних суфіксів, які розпізнаються --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 (встановлюється при читанні багатотомного архіву).
TAR_FORMAT
Формат архіву, який обробляє програма. Одне з таких значень: gnu, oldgnu, posix, ustar, v7.
TAR_SUBCOMMAND
Короткий запис параметра (із початковим дефісом), що описує дію, яку виконує tar.

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

--atime-preserve[=МЕТОД]
Відтворювати час доступу до доданих файлів через відновлювання часу після читання (типово, МЕТОД= replace), або через запобігання оновленню часу ( МЕТОД= system)
--delay-directory-restore
Затримати встановлення часу модифікації та прав доступу до каталогів до кінця видобування. Скористайтеся цим параметром при видобуванні з архіву, у якому використано незвичний порядок елементів.
--group=НАЗВА[:GID]
Примусово призначити НАЗВУ, як групу для доданих файлів. Якщо GID не вказано, НАЗВА може бути як назвою групи, так і числовим значенням GID. У такому випадку, пропущену частину (GID або назву групи) буде встановлено на основі бази даних поточного вузла. Якщо використано із --group-map=ФАЙЛ, стосується лише тих файлів, групи власника яких немає у списку ФАЙЛ.
--group-map=ФАЙЛ
Прочитати карту переходу груп з ФАЙЛа. Порожні рядки буде проігноровано. Коментарі додають за допомогою символу #. Усе після цього символу і до кінця рядка вважають коментарем. Будь-який непорожній рядок у ФАЙЛі визначають перехід для однієї групи. Він має містити два поля, відокремлені будь-якою кількістю пробілів:
СТАРА_ГРУПА НОВА_ГРУПА[:НОВИЙ_GID]
    
СТАРА_ГРУПА — або коректна назва групи, або GID із префіксом +. Якщо не вказано НОВИЙ_GID, НОВА_ГРУПА має також бути або коректною назвою групи, або + GID. В усіх інших випадках, НОВА_ГРУПА і НОВИЙ_GID не повинні бути частиною бази даних груп системи. У результаті кожен файл вхідних даних із групою власника СТАРА_ГРУПА буде збережено в архіві із групою власника НОВА_ГРУПА і GID НОВИЙ_GID.
--mode=ЗМІНИ
Встановити режим ЗМІНИ для доданих файлів.
--mtime=ДАТА-АБО-ФАЙЛ
Встановити mtime для доданих файлів. Значенням ДАТА-АБО-ФАЙЛ є або датою/часом у майже довільному форматі, або назвою наявного файла. В останньому випадку буде використано mtime відповідного файла.
-m, --touch
Не видобувати час модифікації файлів.
--no-delay-directory-restore
Скасувати дію попередньо встановленого параметра --delay-directory-restore.
--no-same-owner
Стати власником витягнутих файлів (типово для звичайного користувача).
--no-same-permissions
Встановлювати права доступу згідно зі значенням umask (типово для звичайного користувача).
--numeric-owner
Завжди використовувати числа замість назв власника/групи.
--owner=ІМ'Я[:UID]
Примусово призначити НАЗВУ, як вкасника для доданих файлів Якщо UID не вказано, НАЗВА може бути як ім'ям користувача, так і числовим значенням UID. У такому випадку, пропущену частину (UID або ім'я користувача) буде встановлено на основі бази даних поточного вузла. Якщо використано із --owner-map=ФАЙЛ, стосується лише тих файлів, власника яких немає у списку ФАЙЛ.
--owner-map=ФАЙЛ
Прочитати карту переходу власників з ФАЙЛа Порожні рядки буде проігноровано. Коментарі додають за допомогою символу #. Усе після цього символу і до кінця рядка вважають коментарем. Будь-який непорожній рядок у ФАЙЛі визначають перехід для одного UID. Він має містити два поля, відокремлені будь-якою кількістю пробілів:
СТАРИЙ_КОРИСТУВАЧ НОВИЙ_КОРИСТУВАЧ[:НОВИЙ_UID]
    
СТАРИЙ_КОРИСТУВАЧ — або коректне ім'я користувача, або UID із префіксом +. Якщо не вказано НОВИЙ_UID, НОВИЙ_КОРИСТУВАЧ має також бути або коректним іменем користувача, або +UID. В усіх інших випадках, НОВИЙ_КОРИСТУВАЧ і НОВИЙ_UID не повинні бути частиною бази даних користувачів системи. У результаті кожен вхідний файл, власником якого є СТАРИЙ_КОРИСТУВАЧ, буде збережено в архіві із новим власником НОВИЙ_КОРИСТУВАЧ та UID НОВИЙ_UID.
-p, --preserve-permissions, --same-permissions
встановлювати права доступу згідно з даними архіву (типово для супер-користувача)
--same-owner
Встановлювати власників файлів за даними з архіву (типово для супер-користувача).
-s, --preserve-order, --same-order
Упорядкувати назви для видобування за порядком в архіві
--sort=ПОРЯДОК
При створення архіву упорядкувати записи каталогу за вказаним ПОРЯДКОМ, можливі значення: none, name або inode. Типовим варіантом є --sort=none, тобто «зберігати елементи архіву у тому самому порядку, у якому їх повернуто операційною системою». Використання --sort=name призведе до упорядковування елементів у створеному архіві у стандартний та відтворюваний спосіб. Використання варіанта --sort=inode зменшить кількість позиціювань на диску, які слід буде виконати під час створення архіву, а отже, значно пришвидшити архівування. Підтримку цього упорядковування передбачено, лише якщо у базовій системі передбачено надання відповідних даних.

Розширені атрибути файлів

--acls
Увімкнути підтримку ACL POSIX.
--no-acls
Вимкнути підтримку ACL POSIX.
--selinux
Увімкнути підтримку контекстів SELinux.
--no-selinux
Вимкнути підтримку контекстів SELinux.
--xattrs
Увімкнути підтримку розширених атрибутів.
--no-xattrs
Вимкнути підтримку розширених атрибутів.
--xattrs-exclude=ВЗІРЕЦЬ
Вказати взірець виключення для ключів xattr. ВЗІРЕЦЬ є формальним виразом POSIX, наприклад, --xattrs-exclude='^user.', щоб виключити атрибути з простору назв користувача.
--xattrs-include=ВЗІРЕЦЬ
Вказати взірець включення для ключів xattr. ВЗІРЕЦЬ є формальним виразом POSIX.

Вибір та зміна пристрою

-f, --file=АРХІВ
Скористатися файлом архіву або пристроєм АРХІВ. Якщо вказано цей параметр, 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=КОМАНДА, --new-volume-script=КОМАНДА
Запускати КОМАНДУ наприкінці кожної стрічки (неявним чином встановлює -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.
 
Якщо виконання скрипту не дасть результатів, tar завершить роботу; в інших випадках, програма почне записувати наступний том.
-L, --tape-length=N
Змінити стрічку після запису Nx1024 байтів. Якщо після N вказано суфікс назви (див. підрозділ Суфікси розмірів нижче), суфікс визначатиме коефіцієнт множення, який буде використано замість 1024. Цей параметр автоматично встановлює параметр -M.
-M, --multi-volume
Створення, виведення вмісту та видобування файлів з багатотомного архіву.
--rmt-command=КОМАНДА
Скористатися КОМАНДОЮ замість rmt при доступ до віддалених систем. Див. опис параметра -f вище.
--rsh-command=КОМАНДА
Скористатися КОМАНДОЮ замість rsh при доступ до віддалених систем. Див. опис параметра -f вище.
--volno-file=ФАЙЛ
Якщо цей параметр використано у поєднанні із --multi-volume, tar стежитиме за тим, з яким томом багатотомного архіву програма працює у ФАЙЛі.

Поділ пристрою на блоки

-b, --blocking-factor=БЛОКИ
Встановити розмір запису у БЛОКИx 512 байтів.
-B, --read-full-records
При виведенні списку або видобуванні приймати неповні вхідні запис після позначки кінця файла.
-i, --ignore-zeros
Ігнорувати занулені блоки в архіві. Зазвичай, два послідовних 512-байтових блоки, які заповнено нулями, означають кінець файла, і tar припиняє читання, коли отримає такі дані. Якщо використано цей параметр, програма продовжуватиме читання даних. Параметр корисний при читанні архівів, які створено за допомогою параметра -A.
--record-size=ЧИСЛО
Встановити розмір запису. ЧИСЛО є кількістю байтів на запис. Має бути кратним до 512. Можна використовувати із суфіксом розміру. Приклад: --record-size=10K — 10 кілобайтів. Див. підрозділ Суфікси розмірів, щоб ознайомитися зі списком коректних суфіксів.

Вибір формату архіву

-H, --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.
--old-archive, --portability
Те саме, що і --format=v7.
--pax-option=ключове_слово[[:]=значення][,ключове_слово[[:]=значення]]...
Керує ключовими словами pax при створенні архівів PAX (-H pax). Цей параметр є еквівалентним до параметра -o допоміжної програми pax(1).
--posix
Те саме, що і --format=posix.
-V, --label=ТЕКСТ
Створити архів з назвою тому ТЕКСТ. Під час виведення вмісту або видобування, використовувати ТЕКСТ як шаблон пошуку тому.

Параметри стиснення

-a, --auto-compress
Вибирати програму стиснення за суфіксом архіву.
-I, --use-compress-program=КОМАНДА
Фільтрувати дані через КОМАНДУ. Команда має приймати параметр -d для розтискання. Аргумент може містити параметри командного рядка.
-j, --bzip2
Фільтрувати архів через bzip2(1).
-J, --xz
Фільтрувати архів через xz(1).
--lzip
Фільтрувати архів через lzip(1).
--lzma
Фільтрувати архів через lzma(1).
--lzop
Фільтрувати архів через lzop(1).
--no-auto-compress
Не використовувати суфікс для вибору програми стиснення.
-z, --gzip, --gunzip, --ungzip
Фільтрувати архів через gzip(1).
-Z, --compress, --uncompress
Фільтрувати архів через compress(1).
--zstd
Фільтрувати архів через zstd(1).

Вибір локальних файлів

--add-file=ФАЙЛ
Долучити ФАЙЛ до архіву (корисне, якщо його назва починається з -)
--backup[=КЕРУВАННЯ]
Створити резервну копію перед вилученням. Аргумент КЕРУВАННЯ, якщо його вказано, керує правилами створення резервних копій. Коректними значеннями є такі:
none, off
Ніколи не робити резервних копій.
t, numbered
Робити нумеровані резервні копії.
nil, existing
Створювати нумеровані резервні копії, якщо існують нумеровані резервні копії, і прості копії в усіх інших випадках.
never, simple
Завжди робити прості резервні копії
 
Якщо не вказано КЕРУВАННЯ, значення буде взято зі змінної середовища VERSION_CONTROL. Якщо значення змінної не встановлено, буде використано existing.
-C, --directory=КАТАЛОГ
Змінити каталог на КАТАЛОГ до виконання будь-яких дій. Робота цього параметра залежить від того, де його вказано, тобто він впливає на усі параметри, які за ним вказано.
--exclude=ВЗІРЕЦЬ
Виключити файли, які відповідають ВЗІРЦЮ, взірцю у стилі шаблонів glob(3).
--exclude-backups
Не архівувати резерві файли та файли блокування.
--exclude-caches
Не архівувати файли в каталогах, що містять CACHEDIR.TAG, за винятком самого файла
--exclude-caches-all
Виключити каталоги, які містять файл CACHEDIR.TAG, і сам файл.
--exclude-caches-under
Не архівувати жодні файли в каталогах, що містять CACHEDIR.TAG
--exclude-ignore=ФАЙЛ
Перш ніж створювати дамп каталогу, виконати пошук у ньому ФАЙЛа. Якщо файл буде виявлено, прочитати взірці виключення з цього файла. Взірці стосуються лише самого каталогу.
--exclude-ignore-recursive=ФАЙЛ
Те саме, що і --exclude-ignore, окрім того, що взірці з ФАЙЛа стосуються каталогу і усі його підкаталоги.
--exclude-tag=ФАЙЛ
Не архівувати файли в каталогах, що містять ФАЙЛ, за винятком самого ФАЙЛа
--exclude-tag-all=ФАЙЛ
Не архівувати каталоги, що містять ФАЙЛ.
--exclude-tag-under=ФАЙЛ
Не архівувати жодні файли в каталогах, що містять ФАЙЛ.
--exclude-vcs
Не архівувати каталоги систем керування версіями.
--exclude-vcs-ignores
Виключити файли, які відповідають взірцю, прочитаного зі специфічних файлів ігнорування систем керування версіями. Підтримуваними файлами є такі: .cvsignore, .gitignore, .bzrignore і .hgignore.
-h, --dereference
Переходити за символьними посиланнями; архівувати і створити дампи файли, на які вони вказують.
--hard-dereference
Переходити за жорсткими посиланнями; архівувати і створювати дами для файлів, на які вони вказують
-K, --starting-file=ЕЛЕМЕНТ
Почати з заданого елемента архіву.
--newer-mtime=ДАТА
Працювати з файлами, чиї дані було змінено після настання ДАТИ. Якщо запис ДАТА починається з / або ., запис вважатиметься назвою файла; mtime цього файла буде використано як дату.
--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 читати завершені нуль-символом назви буквально (вимкнути особливу обробку назв, які починаються з дефіса). Див. також --verbatim-files-from.
-N, --newer=ДАТА, --after-date=ДАТА
Зберігати, лише якщо є новішими за ДАТУ. Якщо запис ДАТА починається з / або ., запис вважатиметься назвою файла; mtime цього файла буде використано як дату.
--one-file-system
Залишатися у локальної файлової системі під час створення архіву.
-P, --absolute-names
Не вилучати початкові символи похилої риски з назв файлів при створенні архівів.
--recursion
Рекурсивно проходити каталоги (типово).
--suffix=РЯДОК
Перед вилученням перевизначити звичайний суфікс. Типовим суфіксом є ~, якщо не перевизначено змінною середовища SIMPLE_BACKUP_SUFFIX.
-T, --files-from=ФАЙЛ
Отримати назви файлів, які слід видобути або створити, з ФАЙЛа. Якщо цього спеціально не вказано, ФАЙЛ має містити список назв, які відокремлено LF ASCII (тобто по одній назві на рядок). Прочитані назви буде оброблено у такий самий спосіб, що і аргументи командного рядка. Вони підлягатимуть вилученню лапок і поділу на слова, а будь-який рядок, який починається з -, буде оброблено як параметр командного рядка tar. Якщо ця поведінка є небажаною, її можна вимкнути за допомогою параметра --verbatim-files-from. Використання параметра --null вказує tar, що назви у файлі ФАЙЛ відокремлено символом NUL ASCII, замість LF. Корисно, якщо список створено 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=ФАЙЛ
Виключити назви, що відповідають взірцям, вказаним у ФАЙЛі.

Перетворювання назв файлів

--strip-components=ЧИСЛО
Вилучити вказане ЧИСЛО компонентів з початку назв файлів.
--transform=ВИРАЗ, --xform=ВИРАЗ
Скористатися ВИРАЗом заміни sed для перетворення назв файлів.

Параметри встановлення відповідності назв файлів

Ці параметри стосуються як взірців виключення, так і взірців включення.
--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
Вивести докладний список оброблених файлів. Кожен екземпляр цього параметра у командному рядку збільшує рівень докладності на одиницю. Максимальним рівнем докладності є 3. Докладне обговорення того, як різні рівні докладності впливають на виведені tar дані, можна знайти у Підручнику з GNU Tar, підрозділ 2.5.1 « Параметр --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: двері проігноровано"
file-unchanged
"%s: файл не змінено; не архівується"
ignore-archive
"%s: файл є архівом; не архівується"
file-removed
"%s: Файл було вилучено перед тим як tar встиг його прочитати"
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 (child): cannot run compress: No such file or directory
tar (child): trying 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	Блоки	 РОЗМІР x 512
	B	Кілобайти	 РОЗМІР x 1024
	c	Байти	 РОЗМІР
	G	Гігабайти	 РОЗМІР x 1024^3
	K	Кілобайти	 РОЗМІР x 1024
	k	Кілобайти	 РОЗМІР x 1024
	M	Мегабайти	 РОЗМІР x 1024^2
	P	Петабайти	 РОЗМІР x 1024^5
	T	Терабайти	 РОЗМІР x 1024^4
	w	Слова	 РОЗМІР 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 або скористайтеся режимом info emacs(1), щоб ознайомитися з ним.
Інтернет-копії документації з GNU tar у різних форматах можна знайти тут:

http://www.gnu.org/software/tar/manual

ЗВІТУВАННЯ ПРО ВАДИ

Про вади слід повідомляти за адресою <[email protected]>.

АВТОРСЬКІ ПРАВА

Авторські права належать © Free Software Foundation, Inc., 2013-2019
 
Умови ліцензування GPLv3+: GNU GPL версії 3 або пізнішої <http://gnu.org/licenses/gpl.html>.
 
Це вільне програмне забезпечення: Ви можете вільно змінювати і розповсюджувати його. БЕЗ ЖОДНИХ ГАРАНТІЙ, в межах, дозволених законом.

ПЕРЕКЛАД

Український переклад цієї сторінки посібника виконано Sergey Poznyakoff <[email protected]> і Yuri Chornoivan <[email protected]>
Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3 НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.
Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: [email protected]