Команда cpio
Команда cpio является вторым по значимости инструментом архивирования после tar. Особенность cpio в том, что имена файлов для архивирования она принимает через стандартный поток ввода.
Команда cpio способна работать в трех режимах, определяемых опциями:
r -o — для копирования в архив (copy-out), в котором архивируемые файлы помещаются в архив, а сам поток байтов архива копируется в выходной (output) файл;
r -i — для копирования из архива (copy-in), в котором файлы извлекаются из архива, который передается команде на вход (input);
r -p — проходной режим (pass-through), при использовании которого файлы копируются из одного каталога в другой без реального создания архива.
Чаще всего список файлов, которые должны быть помещены в архив, пере- дается на стандартный поток ввода команды cpio с помощью команды find.
В примере 12.10 в архив будут помещены только те файлы в домашнем ката- логе, которые были изменены за последние сутки (режим copy-out).
Пример 12.10. Создание архива cpio |
$ find ~tania -mtime 1 | cpio -ov > /tmp/tania.cpio
Эта команда найдет все файлы в домашнем каталоге пользователя tania, из- мененные в течение последних 24 часов, передаст их список в стандартный поток ввода утилиты cpio, которая поместит их в файл архива /tmp/tania.cpio. Опция -v используется для получения подробной информации о процессе архивирования.
Для передачи в стандартный поток вывода информации о файлах в архиве используется режим copy-in команды cpio с опцией -t (type) — при- мер 12.11.
Пример 12.11. Получение содержимого архива cpio |
$ cpio -ivt < /tmp/tania.cpio
В этом примере содержимое архива было считано командой cpio из стан- дартного потока ввода. Команда cpio работала в режиме copy-in (опция -i).
Извлечь файлы из архива можно с помощью такой же команды, но без оп- ции -t. При этом обычно устанавливают опцию -d, вынуждающую команду cpio создавать отсутствующие каталоги при восстановлении файлов.
Эта команда извлечет в текущий каталог файлы из tania.cpio (пример 12.12).
Пример 12.12. Извлечение файлов из архива cpio |
$ cpio -ivd < /tmp/tania.cpio
В проходном режиме команды cpio, который работает при установленной опции -p, архив не создается. Файлы, имена которых передаются команде cpio через стандартный поток ввода, рекурсивно копируются в целевой ка- талог.
Далее приводится список других часто используемых опций cpio:
r -B — устанавливает размер блока 5120 байтов вместо 512 байтов по умол- чанию;
r -F — указывает имя файла для ввода или вывода архива;
r -O — указывает имя файла для записи архива;
r -I — указывает имя файла для считывания архива;
r -A — добавление файлов к архиву, указанному после опции -F или -O;
r -E — извлекать из архива файлы, имена которых удовлетворяют шаблону;
r -f — не копировать файлы, имена которых удовлетворяют заданному шаблону;
r -n — не переводить UID и GID в имена пользователей и групп;
r -r — интерактивно переименовывать файлы;
r -m — сохранять дату модификации файлов;
r -u — безусловно заменять новыми существующие файлы.
Дата добавления: 2015-06-12; просмотров: 883;