Администрирование ОС Solaris

Cpio


Команда cpio служит для копирования файлов в архив и из архива и умеет работать в трех режимах: входящего копирования, исходящего копирования и пассивного копирования. Режим исходящего копирования (копирования в архив, Copy Out Mode) используется для создания архива из файлов, подходящих по маске. Так, для архивации файлов, чьи имена начинаются с q, можно использовать такую последовательность команд:

ls q* | cpio -oc >Q/sccs.backup 16 blocks cd Q ls sccs.backup

Файл результата состоит из заголовка и записанного вслед за ним имен и содержимого архивируемых файлов. Сжатия информации не производится. Так выглядит начало получившегося файла sccs.backup:

head sccs.backup 070701000020fc0000812400000000000000010000000140dd6ab70000 0012000000660000000700000000000000000000000200000005q

test1

Применим входящее копирование (т.е. копирование из архива, Copy In Mode) для извлечения из архива определенных файлов, в нашем примере - файла q:

ls sccs.backup cat sccs.backup | cpio -i q 4 blocks ls q sccs.backup

Пассивное копирование (Pass Mode)2) служит для копирования файлов между файловыми системами, когда не применима команда mv. В этом режиме cpio читает список файлов со стандартного ввода и копирует эти файлы в указанный каталог (дерево каталогов).

Фактически, cpio всегда принимает список файлов со стандартного ввода (кроме случая входящего копирования). Ключи, которые описаны в man cpio, предписывают программе особенности поведения, такие как создание подкаталогов по необходимости и т.п.



Содержание раздела