Машинно-независимый обмен архивами (POSIX)
pax [-cimopuvy] [-f архив] [-s строка_подстановки]... [-t устройство] [шаблон...] # Вывод содержимого архива
pax -r [-cimnopuvy] [-f архив] [-s строка_подстановки]... [-t устройство] [шаблон...] # Чтение архива
pax -w [-dimuvy] [-b размер_блока] [-[a]f архив] [-s строка_подстановки]... [-t устройство] [-x формат] [путевое_имя...] # Запись в архив
pax -rw [-ilmopuvy] [-s строка_подстановки]... [путевое_имя...] каталог # Копирование файлов
k
обозначает умножение размера блока на 1024
, суффикс b
– на 512
, суффикс m
– на 1 048 576
(1 мегабайт). Разбиение на блоки определяется автоматически для входных данных и игнорируется для опции -rw (копирование файлов), если не указано иное.0
.0
. Если один или несколько файлов из этого списка не найдены, то утилита pax записывает диагностическое сообщение о каждом из таких файлов в стандартный поток ошибок, после чего завершает работу с ненулевым статусом завершения. Сравнение имен файлов производится до применения любых из опций -i, -s и -y./
). При наличии нескольких выражений -s они применяются в порядке их следования до первой успешной подстановки. Если указан завершающий символ p, то в стандартный поток ошибок отправляются сообщения о каждой успешной подстановке. Если указан завершающий символ g, то будут заменены все вхождения старого выражения в исходной строке. Если после применения подстановок имя файла становится пустой строкой, то оно игнорируется как при вводе, так и при выводе.q
, утилита pax завершает работу. В противном случае, если строка ввода начинается с символа, отличного от y
, файл игнорируется. Использование этой опции совместно с опцией -i не допускается. ![]() | Действительной является только последняя опция -f или -t. |
*
, т.е. выбор всех файлов.Если не указана ни одна из опций -r и -w, то утилита pax выводит содержимое указанного архива. В этом режиме утилита pax отображает стандартные файлы по одному на строке. Путевые имена по жестким ссылкам отображаются следующим образом:
путевое_имя == ссылочное_имя
где путевое_имя – имя извлекаемого файла, ссылочное_имя – имя файла, обнаруженного в архиве ранее.
Путевые имена символьных ссылок выводятся следующим образом:
путевое_имя -> целевой_путь
Если указана опция -v, то утилита pax выводит стандартные путевые имена в формате, аналогичном формату, используемому утилитой ls с опцией -l ("эль"), за исключением жестких ссылок, которые отображаются следующим образом:
< ls -l список> == ссылочное_имя
Режимы работы с различными сочетаниями опций -r и -w:
ЗОСРВ «Нейтрино»
aarch64, arm, armv7, e2k, mips, ppc, x86
Утилита pax считывает и записывает архивные файлы, которые соответствуют формату архивных файлов/файлов обмена данными, описанному в стандарте POSIX Std 1003.1-1988. Кроме того, эта утилита поддерживает чтение ряда других форматов файлов (без записи). Поддержка этих традиционных форматов файлов (таких как архивы формата V7 tar и бинарных файлов System V cpio) предусмотрена для сохранения обратной совместимости и повышения переносимости.
Кроме того, утилита pax поддерживает традиционные интерфейсы cpio и tar System V при вызове по этим именам (они являются ссылками на pax).
Утилита pax обеспечивает чтение и запись архивов, расположенных в нескольких физических томах. При достижении конца носителя в процессе чтения архива утилита pax запрашивает следующий том и позволяет указать его местоположение.
![]() | Если архив pax хранится непосредственно в блок-ориентированном специальном файле гибкого диска (например, /dev/fd0 ), то архив перезаписывает первый блок на диске, который используется накопителем на гибких дисках devb-fdc для хранения информации о типе носителя, позволяющей ему динамически адаптироваться к различным размерам гибких дисков, вставляемых в дисковод (например, 720 КБ и 1,4 МБ, 360 КБ и 1,2 МБ и т.д.). Если накопителю на гибких дисках не удается определить емкость, то применяется емкость 1,4 МБ. |
Действия утилиты pax – чтение, запись, вывод содержимого указанного архива или перемещение указанных файлов в другой каталог – определяются сочетаниями аргументов командной строки -r и -w.
Если операнды путевое_имя не указаны, то в качестве списка путевых имен используются данные из стандартного потока ввода. Формат этих данных – одно путевое имя на строку. При чтении из стандартного потока ввода считывается архивный файл, который имеет формат, соответствующий описанию формата в стандарте POSIX 1003.1-1988.
Возможность восстановления принадлежности и атрибутов полномочий архивных файлов утилитой pax зависит от идентификатора пользователя и идентификатора группы процесса, а также соответствующих полномочий. (См. описание формата архивных файлов/файлов обмена данными (Archive/Interchange File Format) в стандарте POSIX Std 1003.1-1988).
Следует отметить, что опции -a, -c, -d, -i, -l, -p, -t и -y предоставлены в целях обеспечения функциональной совместимости с традиционными утилитами cpio и tar. Значения опций по умолчанию были выбраны на основе обычного способа использования этих опций, поэтому некоторые из опций имеют смысл, отличный от смысла аналогичных опций в традиционных командах.
Копирование содержимого текущего каталога на накопитель на гибких дисках:
pax -w -f /dev/fd0 .
Копирование содержимого старого_каталога в новый_каталог:
mkdir новый_каталог cd старый_каталог pax -rw . ../новый_каталог
Чтение pax.out
архива, все файлы которого извлечены относительно текущего каталога в корневой каталог /usr
архива (обратите внимание на использование запятых в качестве разделителей шаблонов в опции -s):
pax -r -s ",^/usr/,," -f pax.out
Управляющий терминал (/dev/tty
) используется для запроса информации у пользователя в случае, если указана опция -i или -y.
Для копирования или извлечения специальных файлов могут потребоваться специальные полномочия.
Если значение устройства, идентификатора пользователя и идентификаторов групп превышает 65535, выводятся дополнительные записи заголовков. Некоторыми историческими версиями утилит cpio и tar эти записи игнорируются.
Форматы архивов, описанные в формате архивных файлов/файлов обмена данными (Archive/Interchange File Format), имеют определенные ограничения, унаследованные исторически. Например, длина путевых имен, хранящихся в архиве, не может превышать 255 символов.
При получении списка в стиле ls -l из архивов формата tar отображается нулевое количество ссылок, так как в формате архивов ustar информация о количестве ссылок не поддерживается.
В 16-разрядной архитектуре, включая 16-разрядные версии QNX 4, наибольший размер буфера равен 32 КБ – 1, в т.ч. по причине применения целых чисел в схемах выделения буферов. Однако на многих таких компьютерах выделение блоков памяти, превышающих 32 КБ, невозможно.
Базовые подсистемы ЗОСРВ «Нейтрино», POSIX, NetBSD
ЗОСРВ
«Нейтрино»
редакции 2020
утилита обновлена до версии NetBSD 9.1 bzip2, cp, cpio, find, gzip, tar
Предыдущий раздел: Утилиты