Книга: Linux-сервер своими руками

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 читает со стандартного ввода имя архива.

Оглавление книги


Генерация: 0.418. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз