cpio

Копирование файлов из архива и в архив (UNIX)

Синтаксис:

cpio -i[Bcdfmrtuv] [шаблон...] 
cpio-o [Bacv]
cpio -p[adlmruv] каталог

Опции:

-a
Сбросить время доступа к входным файлам после копирования. Если кроме того указана опция -l, то время доступа к связанным файлам не сбрасывается. Эта опция используется только совместно с опцией -o или -i.
-A
Добавить файлы в архив. Допустима только для архивов в файлах, на дискетах или на разделах жесткого диска. Эта опция используется только совместно с опцией -o.
-B
Разместить входные/выходные данные в блоки по 5120 байт в записи. Эта опция используется только совместно с опцией -o или -i для данных, передаваемых в байт-ориентированные специальные файлы или извлекаемых из них.
-b
Изменить порядок байтов в каждом слове. Эта опция используется только совместно с опцией -i.
-c
Записать информацию заголовка в ASCII (значение по умолчанию; опция, обеспечивающая совместимость).
размер_буфера
Объединяет ввод/вывод в записи указанного размера (размер задается положительным целым числом). Стандартный размер буфера, если не указана эта опция и опция -B, - 8192 байта. Опция -C имеет смысл только если происходит обмен данными со специальным символьным устройством, например, /dev/rmt/0m.
--H формат
Прочитать архив указанного формата. Допустимы следующие форматы:
bcpio
Старый бинарный cpio формат
cpio
Старый восьмиричный cpio формат
sv4cpio
SVR4 шестнадцатиричный формат
tar
Старый tar формат
ustar
POSIX ustar формат
-d
Создавать каталоги при необходимости. Эта опция используется только совместно с опцией -i или -p.
-E файл
Задать входной файл, содержащий список имен файлов, которые необходимо извлечь из архива.
-I файл
Прочитать содержимое файла как входной архив. Если указан файл специального символьного устройства и текущий носитель полностью прочитан, замените носитель и нажмите клавишу Enter для чтения следующего носителя. Эта опция используется только совместно с опцией -i
-f
Копировать все файлы из архива, за исключением содержащихся в шаблонах. Эта опция используется только совместно с опцией -i.
-l
("эль") По возможности создавать ссылки на файлы вместо копирования. Эта опция используется только совместно с опцией -p.
-L
Переходить по символьным ссылкам.
-m
Сохранить время предыдущих модификаций. Эта опция не используется для каталогов, находящихся в процессе копирования. Эта опция используется только совместно с опцией -i или -p.
-o
Копировать в архив. (Записать архив на стандартное устройство вывода.)
-O
Направлять результат работы cpio в файл. Эта опция используется только совместно с опцией -o.
-p
Передать. Условно скопировать файлы из списка, считываемого из стандартного потока ввода, в целевой каталог, определенный в качестве аргумента cpio.
-r
Интерактивно переименовать файлы. Если пользователь просто нажимает Enter, файл пропускается. Если пользователь вводит точку (.), оставляется исходное имя файла.
-s
Переставлять байты в каждом полуслове.
-S
Переставлять полуслова в каждом слове.
-t
Вывести содержание ввода. Файлы при этом не создаются. Эта опция используется только совместно с опцией -i.
-u
Копировать файлы безусловно. Как правило, новый файл не может быть заменен более старым файлом с таким же именем. Эта опция используется только совместно с опцией -i или -p.
-v
Вывести расширенную информацию. Вывести имена связанных файлов. Эта опция используется только совместно с опцией -i. При использовании совместно с опцией -t выводится подробный список.
--xz
Сжать/разжать архив, используя формат xz
--Z
Сжать архив, используя формат compress
--z
Сжать/разжать архив, используя формат gzip
-6
Обрабатывать формат файла архива UNIX System Sixth Edition. Эта опция используется только совместно с опцией -i.
--force-local
Не интерпретировать имена файлов, содержащие ":", как удаленные файлы.
--insecure
Интерпретировать имена файлов, содержащие "..", как часть пути.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

arm, armv7, e2k, mips, ppc, x86

Описание:

Утилита cpio создает и считывает файлы в формате, определенном форматом файла архива/обмена (Archive/Interchange File Format) POSIX cpio. Она может выполняться в трех режимах.

Режим -i (копирование из архива) позволяет извлекать файлы из стандартного потока ввода, который является результатом предыдущего выполнения cpio -o. Выбираются только файлы с именами, соответствующими заданным шаблонам. Можно указать несколько шаблонов. Если шаблоны не указаны, то по умолчанию выбираются все файлы. Извлеченные файлы создаются условно и копируются в рабочий каталог и, возможно, на нижестоящие уровни, в зависимости от используемых опций. При этом для файлов используются полномочия, сохраненные в результате предыдущего вызова утилиты cpio -o. Используются владелец и группа файлов текущего пользователя, если этот пользователь не обладает соответствующими полномочиями, позволяющими сохранить для утилиты cpio владельца и группу файлов, сохраненных для предыдущего вызова cpio -o.

Режим -o используется для записи архива на стандартное устройство вывода.

Режим -p (передача) позволяет считывать стандартный поток ввода для получения списка путей к файлам, условно создаваемых и копируемых в целевой каталог в соответствии с выбранными опциями.

При обнаружении ошибки определяется ее причина, и копирование файлов с помощью утилиты cpio продолжается. Нераспознаваемые файлы в архиве пропускаются.

Для утилиты cpio применяются следующие ограничения:

Примеры:

Копирование в архив файлов, список которых создан утилитой ls, и их перенаправление в файл archive:

ls | cpio -o >archive

Использование выходного файла archive утилиты cpio -o, извлечение файлов, соответствующих шаблонам "memo/al" и "memo/b*", создание каталогов в текущем каталоге и размещение в них файлов:

cpio -id "memo/al" "memo/b*"

Использование имен файлов, направляемых в cpio, из утилиты find и их копирование или создание ссылки в другой каталог с именем newdir с сохранением времени изменения:

find . -depth -print | cpio -pdlmv newdir

Возвращаемое значение:

0
Выполнено копирование всех входных файлов.
2
В процессе выполнения утилиты обнаружены ошибки при копировании файлов или каталогов или осуществлении доступа к ним. При наличии несуществующих файлов или каталогов или отсутствии полномочий, необходимых для доступа к исходным или целевым файлам, создаются соответствующие сообщения об ошибках.

Предостережения:

Когда утилита cpio восстанавливает каталог, полномочия созданного каталога приводятся в соответствие с полномочиями для исходного каталога. Если полномочия на запись отсутствуют для этого каталога, копирование каких-либо других файлов из этого каталога завершается неуспешно. Для решения этой проблемы необходимо сначала сохранить файлы из каталога, а затем сам каталог. Если для генерации путей для утилиты cpio используется утилита find, то для утилиты find необходимо указать опцию -depth. Также обратите внимание на то, что для запроса информации при указании опций -i или -r используется управляющий терминал (/dev/tty).

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино», UNIX

Тематические ссылки:

cp, pax, find




Предыдущий раздел: Утилиты