Linux и Windows: помощь админам и пользователям
Администрируем и настраиваем Windows, Linux.
Учимся использовать команду cpio
Команда cpio позволяет создавать и распаковывать архивы, или копировать файлы с одного места в другое. cpio может считывать и писать в tar файлы. cpio работает подобно утилите tar, возможно даже лучше.
Как я писал выше, cpio работает подобно tar, но так же может принимать данные с стандартного ввода, например вот таким образом мы используя команду find найдем все файлы с расширением *.c и заархивируем их.
Мы также можем указать имя архива используя опцию -F:
- -o: создать архив
- -F: имя архива
- -H format: Указание используемого формата файла.
- -i: распаковка архива
Вы можете распаковать архив следующей командой:
Получаем список файлов в архиве:
Архивируем директорию /home на ленту ( /dev/nst0):
Восстанавливаем бэкап используя следующую команду:
Бэкапим директорию /home на удаленную систему:
Постовой
Отличный интернет магазин дверей. Большой выбор, фурнитура в подарок каждому покупателю.
Большой архив портативного софт. Программы на все случаи жизни.
Cpio linux как распаковать
Команда cpio позволяет использовать утилиту для архивации данных с соответствующим именем. Эта утилита поддерживает как собственный бинарный формат архивов CPIO, так и популярный формат архивов TAR. Она достаточно редко используется, в отличие от утилиты tar, позволяющей работать лишь с архивами собственного формата. При этом следует отметить, что архивы формата CPIO в текущее время используются для хранения файлов в пакетах программного обеспечения формата RPM, а также файлов начальной файловой системы Linux (initrd). В случае пакета формата RPM архив формата CPIO с файлами программного компонента может быть извлечен с помощью специальной утилиты rpm2cpio.
Базовый синтаксис команды выглядит следующим образом:
Для создания архива должен использоваться параметр -o, на вход утилиты должны подаваться имена добавляемых файлов, а стандартный поток вывода утилиты должен быть перенаправлен в файл архива. Вместо перенаправления стандартного потока вывода в файл архива может использоваться параметр -F с значением, являющимся именем файла архива. В качестве источника списка файлов для добавления в архив могут выступать такие стандартные утилиты, как ls и find (примеры будут приведены ниже).
Для извлечения файлов из архива предназначен параметр -i, причем на вход утилиты должны передаваться данные из файла архива. Извлеченные файлы будут сохраняться в текущей директории.
Если вас интересует, какой файл обрабатывается в данный момент, вы можете добавить к используемым параметрам параметр -v.
При возникновении необходимости работы с файлами формата TAR должен использоваться параметр -H с значением tar. Утилита cpio не поддерживает модификацию PAX формата TAR, поэтому не рекомендуется для работы с архивами формата TAR.
Примеры использования
Извлечение файлов из архива формата CPIO в текущую директорию
Создание архива формата CPIO с перенаправлением стандартного потока вывода
$ ls | cpio -o > archive.cpio
Создание архива формата CPIO с указанием имени файла архива
$ ls | cpio -o -F archive.cpio
Копирование скрытых файлов из текущей директории
Для копирования всех скрытых файлов из текущей директории в директорию /tmp может использоваться следующая команда:
$ find .* | cpio -pmud /tmp
В данном случае команда find предназначена для формирования списка временных файлов, который отправляется на вход утилиты cpio. Если вы не хотите копировать какие-либо файлы, вы можете создать фильтр на основе утилиты grep. Параметр -p предназначен для копирования файлов, параметр -m — для сохранения меток времени их модификации, а параметр -d — для воссоздания дерева директорий при необходимости.
Архивирование и компрессия. Утилита cpio
Автор: Алексей Федорчук
Мир Linux. Наброски к книге
Команда cpio — наверное, древнейшее средство архивирования в UNIX, существующее с незапамятных времён. Архивные файлы в создаваемой ей формате понимаются в любых Unix-системах. И хотя она сама как архиватор пользовательских данных практически вышла из употребления, именно ею собираются воедино компоненты пакетов в формате rpm. По этим причинам о cpio необходимо сказать несколько слов.
Как можно понять из названия, утилита cpio (Copy Input/Outup) занимается копированием входящих файлов в выходящий архив и наоборот, развёртыванием входящего архива в выходящие файлы. Существует три режима её работы.
Первый режим, copy-out, задаваемый опцией -o (или —create ), предусматривает считывание списка файлов (name list) со стандартного ввода и объединяет их в архив, который может быть направлен в архивный файл или непосредственно на устройство для записи резервных копий. Список файлов для архивирования может представлять собой вывод какой-либо иной команды. Так, в примере
файлы текущего каталога, найденные командой find , при посредстве команды cpio будут направлены в архивный файл arch.cpio .
Второй режим, copy-in, вызываемый опцией -i , или —extract ) осуществляет обратную процедуру: развертывание ранее созданного архива в текущем каталоге:
Здесь нужно заметить, что если разворачиваемый архив включает подкаталоги, автоматически они созданы не будут, и последует сообщение об ошибке. Для создания промежуточных каталогов команда cpio должна использоваться с опцией -d ( —make-directories ).
В третьем режиме (copy-pass, опция -p , или —pass-through ) команда cpio выполняет копирование файлов из одного дерева каталогов в другой, комбинируя режимы copy-out и copy-in, но без образования промежуточного архива. Список файлов для копирования (name list) считывается со стандартного ввода, а каталог назначения указывается в качестве аргумента:
Команда cpio имеет множество опций, позволяющих создавать, в частности, архивы в различных форматах (для межплатформенной переносимости). Однако я на них останавливаться не буду, отсылая заинтересованных к соответствующей man-странице: она не кажется мне удобной в применении. А затрону только вопрос о «потрошении» rpm-пакетов — такая необходимость время от времени возникает не только у пользователей основанных на нём дистрибутивов.
На этот предмет существует специальная утилита rpm2cpio . Она считывает данные с rpm-файла (или, если таковой не указан, со стандартного ввода), преобразуя их в формат архива cpio.
Далее образовавшийся cpio-архив распаковывается стандартным образом:
Обращаю внимание на опцию -d, предписывающую создавать промежуточные подкаталоги при распаковке архива — она почти наверняка понадобится.
Linux: cpio — управление архивами .cpio
cpio — утулита для управления архивами а так же расширение файлов архивов.
Аббревиатура cpio расшифровывается как «copy in, copy out«.
cpio используется для трех основных задач:
- копирование файлов в архив ( -o — copy-out mode);
- извлечение данных из архива ( -i — copy-in mode);
- передача файлов в другое дерево каталогов ( -p — copy-pass mode).
Во время создания архива cpio принимает список файлов из STDIN , а при распаковке — передает их в STDOUT .
Создание *.cpio архива
Для создания архива — используется опция -o :
С помощью ls — получаем имя каждого файла в текущей директории, и передаем их на вход cpio :
Можно указать -v ( —verbose ) для более подробной информации:
Что бы добавить к архиву только определенные файлы — выполните выборку перед передачей имен в pipe.
Что бы сохранить информацию об mtime (Modification Time) — добавьте опцию -m .
Извлечение *.cpio архивов
Для извлечения файлов из архива — используется опция -i :
Для извлечения только определенный файл — передайте его (или маску для имен файлов) аргументом.
Просмотр содержимого *.cpio архива
Для просмотра содержимого архива — используйте опцию -t :
Копирование дерева директорий
cpio так же позволяет выполнить копирование каталога и всех вложенных данных без необходимости создавать промежуточный архив.
Тут -p — Copy-pass mode, -m — сохранить информацию об mtime файлов, и -d — создавать каталоги при необходимости.
cpio и другие форматы
cpio поддерживает работу с форматами данных.
Например, для создания tar-архива — укажите tar после поции -H ( —format ):
Команда cpio в Linux с примерами
cpio означает « копировать, копировать ». Он используется для обработки архивных файлов, таких как * .cpio или * .tar . Эта команда может копировать файлы в архивы и из них.
Сводка:
- Режим копирования : копирование файлов с именами из списка имен в архив
Синтаксис:
Режим копирования: извлечение файлов из архива
Синтаксис:
Режим копирования : копирование файлов с именами из списка имен в каталог назначения
Синтаксис:
Параметры политики:
- -i, –extract: извлекать файлы из архива, и он работает только в режиме копирования.
- -o, –create: создать архив, и он будет работать только в режиме копирования.
- -p, –pass-through: запуск в режиме копирования-передачи.
- -t, –list: распечатать оглавление всех имеющихся входных данных.
Модификаторы работы действительны в любом режиме:
- -B: изменяет размер блока ввода-вывода до 5120 байт.
- -c: Использовать старый переносимый (ASCII) формат архива.
- -C, –io-size = NUMBER: установить размер блока ввода-вывода для данного конкретного числа NUMBER байтов.
- -D, –directory = DIR: изменение каталога DIR .
- -H, –format = FORMAT: использовать заданную дугу.
- -v, –verbose: список файлов, обработанных в конкретной задаче.
- -V, –dot: вывести «.» Для каждого файла, обработанного в конкретной задаче.
- -W, –warning = FLAG: Дисплей предупреждения управления. В настоящее время FLAG является одним из ‘ none ‘, ‘ truncate ‘, ‘ all ‘.
Примеры:
- Чтобы создать файл * .cpio: Мы можем создать файлы * .cpio, содержащие файлы и каталог, с помощью команды cpio.
Синтаксис:
Здесь -ov используется как -o для создания нового архива и -v список обработанных файлов.
Чтобы извлечь файл * .cpio: Мы можем извлечь файлы * .cpio, содержащие файлы и каталоги, с помощью команды cpio.
Синтаксис:
Чтобы создать файл архива * .tar с помощью cpio: cpio помогает создать архив * .tar .
Синтаксис:
Чтобы извлечь файл архива * .tar с помощью cpio: cpio помогает извлечь файлы * .tar, содержащие файлы и каталог.
Синтаксис:
Чтобы создать архив * .cpio с выбранными файлами: Мы можем создать файлы * .cpio, содержащие определенные файлы, с помощью команды cpio. В примере мы используем файлы .txt .
Синтаксис:
Чтобы создать архив * .tar с выбранными файлами: Мы можем создать файлы * .tar, содержащие определенные файлы, с помощью команды cpio. В примере мы используем файлы .txt .
Синтаксис:
Просмотр только архивного файла * .tar с помощью cpio: cpio помогает просматривать файлы * .tar, содержащие файлы и каталог.
Синтаксис:
Замечания:
- Чтобы проверить страницу руководства команды cpio, используйте следующую команду:
- Чтобы проверить страницу справки команды cpio, используйте следующую команду: