TAR(1) | Підручник з GNU TAR | 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 в 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=ОСНОВНА[.ПРОМІЖНА]
- Встановити версію розрідженого формату, якою слід скористатися. Коректними значеннями аргументу є такі: 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 у різних форматах можна знайти тут:
ЗВІТУВАННЯ ПРО ВАДИ
Про вади слід повідомляти за адресою <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. НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.
Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: trans-uk@lists.fedoraproject.org.
11 липня 2022 року | TAR |