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 читает со стандартного ввода имя архива.
Данный текст является ознакомительным фрагментом.