4.17. Использование программы cpio

4.17. Использование программы cpio

Для создания архивов на магнитной ленте или жестком диске, а также для извлечения файлов из архивов используется программа cpio.

Программа cpio может работать в трех оперативных режимах. При этом режим работы задается указанной опцией. Помимо опций могут использоваться параметры, которые управляют работой cpio в заданном режиме. Формат вызова программы cpio зависит от режима, в котором она должна работать. Опции программы и соответствующий им формат вызова представлены в табл. 4.15, а параметры — в табл. 4.16.

Опции программы cpio Таблица 4.15

Опция Формат вызова Описание -о cpio –о[параметры] список_файлов [имя_архива] Копирование в архив всех файлов, которые указаны. Файлы в списке указываются по одному в строке -i cpio –i параметры] [шаблоны] имя_архива В режиме, задаваемом этой опцией, программа cpio будет извлекать файлы из архива. При этом извлекаться будут только те файлы, чьи имена совпадут с одним из указанных шаблонов. Если ни одного шаблона не указано, то из архива будут извлекаться все файлы. Шаблон также может включать в себя символы подстановки -p cpio –р[параметры] каталог Копирование будет производиться в указанный каталог

Параметры программы cpio Таблица 4.16

Параметр Описание -0 Этот параметр позволяет включить в архив файлы, имена которых содержат символ новой строки. Используется вместе с опциями –о и –р -а Устанавливает текущее время в качестве времени последнего доступа к файлу -А Присоединение файлов к существующему архиву на диске -b Заменяет местами байты и полуслова -В Устанавливает размер блока в 5120 байт. По умолчанию используется 512 байт -с Чтение и запись заголовка как текста ASCII -С n Устанавливает размер блока в n байтов -d Предварительно создает каталоги в случае необходимости -Е файл Используется вместе с опцией –i. При этом в качестве шаблонов, по которым отбираются файлы для извлечения, будут использоваться строки, содержащиеся в указанном файле. Таким образом, указываемый файл есть файл списка шаблонов -F файл Использует указанный файл в качестве архива -Н тип Устанавливает тип формата архива: bin — устаревший двоичный формат; crc — формат Unix SysV Release 4, использующий подсчет контрольных сумм (CRC); hpodc формат Hewlett-Packard; newc — формат Unix SysV Release 4, может использоваться для файловых систем, количество дескрипторов в которых превышает 65536; ode — формат POSIX.1; tar формат tar; ustar — формат POSIX.1 tar -I файл Указанный файл будет использоваться в качестве исходного архива. Используется вместе с опциями –i и –р -l Создает ссылки вместо копирования файлов в каталог при использовании опции –р -L При встрече символической ссылки копироваться будет не сама ссылка, а файл, на который она указывает. Используется совместно с опциями –о и –р -m Сохраняет время последнего изменения файла -М строка Выводит указанную строку при смене носителя -n Выводит GID (идентификатор группы) -О файл Вывод в указанный файл -r Переименование файлов, новые имена будут запрошены у пользователя -s Замена байтов местами. Используется с опцией –i -S Замена полуслов местами. Используется с опцией –i -t Режим тестирования. Выводит содержимое архива, который должен быть создан, но сам архив при этом не создается -u Перезапись файлов без подтверждения -v Вывод имени всех файлов -V Выводит точку вместо имени файла

Давайте рассмотрим несколько примеров использования программы cpio. Создать архив можно с помощью опции –о программы cpio. Программа cpio будет читать имена файлов, которые следует поместить в архив со стандартного ввода. По умолчанию используется бинарный формат архива, поэтому формат архива нужно задать опцией –Н. Будем использовать формат tar. Введите команду:

cpio –о –Н tar –О arc.tar

Затем введите имена файлов, которые вы хотите добавить в архив, например:

/opt/ctrl/ctrl.с

/opt/ctrl/ctrl.html

По окончании ввода будет создан архивный файл arc. tar. Программа cpio создаст архив с сохранением структуры каталогов. Чтобы убедиться в этом, запустите файловый менеджер mc и просмотрите содержимое архива arc.tar.

Конечно, вводить имена файлов вручную не совсем приятное занятие. Для автоматизации ввода можно использовать средства перенаправления ввода/вывода. Например, для архивирования текущего каталога введите команду:

ls | cpio –о –Н tar –О current_dir.tar

Для извлечения файлов из архива введите команду:

cpio –i –H tar < current_dir.tar

В режиме извлечения файлов программа cpio читает со стандартного ввода имя архива.

Данный текст является ознакомительным фрагментом.