cpio - архивизация и извлечение, а также копирование файлов
cpio -o [-a] [-c] [-B] [-v]
cpio -i [-B] [-c] [-d] [-m] [-r] [-t] [-u] [-v] [-f] [-s] [-S] [-b] [-6 [шаблон ...]
cpio -p [-a] [-d] [-l] [-m] [-u] [-v] каталог
Команда cpio -o (архивизация) читает со стандартного ввода список маршрутных имен и копирует эти файлы на стандартный вывод вместе с маршрутными именами и информацией о файлах. Вывод дополняется до размера, кратного 512 байт.
Команда cpio -i (извлечение) выделяет отдельные файлы из стандартного ввода, который, как предполагается, является результатом работы cpio -o. Извлекаются только файлы, имена которых соответствуют хотя бы одному из указанных шаблонов, построенных по принятым в shell'е правилам для генерации имен файлов. Символу / могут соответствовать в шаблоне метасимволы ?, *, и [...]. Может быть указано несколько шаблонов, а если не указано ни одного, то по умолчанию шаблоном будет * (то есть будут извлечены все файлы). Каждый шаблон должен быть окружен двойными кавычками. Извлекаемые файлы создаются и копируются в текущее дерево каталогов в соответствии с описанными ниже опциями. Режим доступа к файлу будет тем же, что при выполнении команды cpio -o. Владелец файла и группа будут взяты у текущего пользователя, если он не суперпользователь, в противном случае cpio сохранит владельца и группу файла, которые он имел при выполнении команды cpio -o.
Если команда cpio -i пытается создать уже существующий файл, и время последней модификации у извлекаемого файла то же самое или более раннее, чем у существующего, то cpio выдает предупреждение и не изменяет существующий файл. (Используя опцию -u, можно добиться безусловной замены существующего файла, без учета времени последней модификации.)
Команда cpio -p (копирование) читает со стандартного ввода список маршрутных имен и, в соответствии с опциями командной строки, копирует заданные файлы в дерево каталогов с указанным корневым каталогом.
Опциям команды cpio приписан следующий смысл:
-a | Не изменять время последнего доступа к исходному файлу при его копировании. |
-B | Установить размер блока равным 5120 байт. Эта опция не применяется с опцией -p и имеет смысл, только если ввод/вывод происходит на специальное символьное устройство (например /dev/mt). |
-d | Создавать каталоги в случае необходимости. |
-c | Заголовки файлов записывать в виде ASCII-символов. Настоятельно рекомендуется использовать эту опцию, если файлы переносятся на компьютер другого типа. |
-r | Интерактивно переименовывать файлы. Для каждого извлекаемого файла у пользователя запрашивается новое имя, а если пользователь ответил пустой строкой, то файл пропускается. Опция не применяется с опцией -p. |
-t | Вывести оглавление архива, ранее созданного с помощью команды cpio. Никакие файлы не создаются. |
-u | Безусловно заменять существующий файл архивным с тем же именем (обычно старый файл не заменяет файл, изменявшийся позднее). |
-v | Вывести список имен обработанных файлов. Если использована опция -t, то оглавление выглядит как вывод команды ls -l [см. ]. |
-l | Везде, где это возможно, не копировать файлы, а создавать ссылки. Эта опция употребляется только с опцией -p. |
-m | Сохранять прежнее время последней модификации (то есть то время, которое указано в заголовке файла). При отсутствии этой опции время последней модификации устанавливается равным текущему времени. Эта опция не действует на время последней модификации скопированных каталогов. Заметим, что в команде cpio смысл опции -m противоположен ее смыслу в команде tar. |
-f | Извлекать все файлы, кроме тех, имена которых соответствуют шаблонам. |
-s | Переставлять байты в каждой половине слова. Эта опция используется только с опцией -i. |
-S | Переставлять половины слов в слове. Предполагается, что слово содержит четыре байта. Опция -S используется только с опцией -i. |
-b | Порядок байт в слове изменять на противоположный. Используется только с опцией -i. |
-6 | Обрабатывать старые файлы. Имеет смысл только с опцией -i. |