TAR(1)

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

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

  Традиційне користування
tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [АРГУМЕНТ...]

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

tar -A [ПАРАМЕТРИ] -f АРХІВ АРХІВ...

tar -c [-f АРХІВ] [ПАРАМЕТРИ] [ФАЙЛ...]

tar -d [-f АРХІВ] [ПАРАМЕТРИ] [ФАЙЛ...]

tar -r [-f АРХІВ] [ПАРАМЕТРИ] [ФАЙЛ...]

tar -t [-f АРХІВ] [ПАРАМЕТРИ] [ЕЛЕМЕНТ...]

tar -u [-f АРХІВ] [ПАРАМЕТРИ] [ФАЙЛ...]

tar -x [-f АРХІВ] [ПАРАМЕТРИ] [ЕЛЕМЕНТ...]

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

tar {--catenate|--concatenate} [ПАРАМЕТРИ] --file АРХІВ АРХІВ...

tar --create [--file АРХІВ] [ПАРАМЕТРИ] [ФАЙЛ...]

tar {--diff|--compare} [--file АРХІВ] [ПАРАМЕТРИ] [ФАЙЛ...]

tar --delete [--file АРХІВ] [ПАРАМЕТРИ] [ЕЛЕМЕНТ...]

tar --append [--file АРХІВ] [ПАРАМЕТРИ] [ФАЙЛ...]

tar --list [--file АРХІВ] [ПАРАМЕТРИ] [ЕЛЕМЕНТ...]

tar --test-label [--file АРХІВ] [ПАРАМЕТРИ] [LABEL...]

tar --update [--file АРХІВ] [ПАРАМЕТРИ] [ФАЙЛ...]

tar {--extract|--get} [--file АРХІВ] [ПАРАМЕТРИ] [ЕЛЕМЕНТ...]

НОТАТКА
На цій сторінці підручника наведено короткий опис GNU tar. Докладне обговорення, разом із прикладами та рекомендаціями щодо застосування, наведено у підручнику з GNU Tar у форматі texinfo. Якщо у вашій системі встановлено засіб для читання info і належним чином встановлено документацію з tar, за допомогою команди

    info tar

ви зможете отримати доступ до повноцінного підручника.

Ви також можете переглянути цей підручник, скориставшись режимом info в emacs(1) або знайти у його у різноманітних форматах в інтернеті за адресою

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

Якщо існують якісь відмінності між цією сторінкою підручника і Підручником з 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=ОСНОВНА[.ПРОМІЖНА]
    Встановити версію розрідженого формату, якою слід скористатися. Коректними значеннями аргументу є такі: 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
    Повідомити tar, що список назв файлів для обробки упорядковано у тому самому порядку, що і файли у архіві.

--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. ВЗІРЕЦЬ є взірцем із замінниками, наприклад, --xattrs-exclude='user.*', щоб включити атрибути лише з простору назв користувача.

--xattrs-include=ВЗІРЕЦЬ
    Вказати взірець включення для ключів xattr. ВЗІРЕЦЬ є виразом із замінниками.

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

-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=БЛОКИ
    Встановити розмір запису у БЛОКИx512 байтів.

-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.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: двері проігноровано"

    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 у різних форматах можна знайти тут:

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

ЗВІТУВАННЯ ПРО ВАДИ
Про вади слід повідомляти за адресою <bug-tar@gnu.org>.

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

ПЕРЕКЛАД
Український переклад цієї сторінки посібника виконано Sergey Poznyakoff <gray@gnu.org> і Yuri Chornoivan <yurchor@ukr.net>

Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html). НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.

Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: trans-uk@lists.fedoraproject.org.