cpio — це архіватор файлів без стиснення та її формат архіву в Unix-подібних операційних системах.
Тип | Архіватор |
---|---|
Розробник | GNU |
Стабільний випуск | 2.15 (2024-01-14) |
Операційна система | Unix-подібні |
Мова програмування | C |
Ліцензія | GPL |
Вебсайт | gnu.org/software/cpio/ |
Назва програми походить від англ. copy in and out.
Історія
cpio була розроблена в 1977 для архівації на стрічку в Programmer Workbench UNIX - версії UNIX на базі UNIX v7, потім вона була портована на інші Unix-системи.
З моменту свого створення формат архіву cpio файлів зазнав кількох, іноді несумісних, змін. Найбільш помітною є перехід з використання бінарного формату метаданих файлу ASCII (текстовий) формат.
В подальшому стали використовувати інші програми резервного копіювання та архівації, наприклад утиліта tar, майже на всіх Unix витіснила cpio. Але cpio залишився форматом архіву в менеджері пакетів RPM, в програмі ядра Linux 2.6, та в інсталяторі Apple (pax).
Приклади роботи
cpio як і tar, був створений для зберігання резервних копій файлів Його робота полягає в тому, щоб взяти ієрархічну структуру каталогів, файлів, разом з їх метаданими (номер inode, права, часові мітки) та сформувати безперервний потік, який можна записати на стрічку. Він не стискає свій зміст, але отриманий потік або файл часто стискають за допомогою gzip або зовнішніх утиліт.
Створення архіву
Для створення архіву використовується опція -o
(англ. copy-out). При цьому програма cpio очікує на stdin список файлів які потрібно заархівувати.
У цьому прикладі утиліта find формує список імен файлів разом з шляхами, передає це в stdin утиліті cpio. cpio видає готовий архів в stdout.
$ find . -depth -print | cpio -o > /path/archive.cpio
Розпаковка
Для розпаковки англ. copy-in, використовується опція -i
При цьому програма cpio очікує в stdin архів, і вона буде відтворювати на файловій системі файли. Опція -d
означає створювати також каталоги за потреби. Опція -v додає більш інформативного виводу процесу .
$ cpio -i -vd < archive.cpio
Для розпаковки всі інші аргументи які йдуть після опцій, вважаються іменами файлів (з підтримкою глобів) які необхідно розпакувати.
Наприклад розпаковка лише одного файлу /etc/fstab:
$ cpio -i -d /etc/fstab < archive.cpio
Перелік файлів в архіві
Для того щоб подивитись які файли є в архіву використовується опція -t
:
$ cpio -t < archive.cpio
Архів може містити в собі як абсолютні так і відносні шляхи файлів.
Копіювання
cpio підтримує ще тип операцій - копіювання файлів, це опція -p
(англ. pass-through).
Ця операція поєднує кроки copy-out та copy-in не створюючи безпосередньо файл архіву. Копіює створюючи каталоги з потребою, виставляє права на файли, а також можливо заміняючи існуючи файли (опція -u), і виводячи прогрес в stdout (-v).
$ find . -depth -print | cpio -p -dumv new-path
Стандартизація POSIX
Утиліта cpio була в стандарті до POSIX.1-1988, але була виключена з POSIX.1-2001. Для роботи з cpio пропонується утиліта pax яка може працювати з архівами cpio (опція -x с значеннями cpoi та bcpio для binary metadata cpio).
Дивись також
- Список команд Unix
- Список форматів архівів
Список літератури
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
cpio ce arhivator fajliv bez stisnennya ta yiyi format arhivu v Unix podibnih operacijnih sistemah cpioTip ArhivatorRozrobnik GNUStabilnij vipusk 2 15 2024 01 14 Operacijna sistema Unix podibniMova programuvannya CLicenziya GPLVebsajt gnu org software cpio Nazva programi pohodit vid angl copy in and out Istoriyacpio bula rozroblena v 1977 dlya arhivaciyi na strichku v Programmer Workbench UNIX versiyi UNIX na bazi UNIX v7 potim vona bula portovana na inshi Unix sistemi Z momentu svogo stvorennya format arhivu cpio fajliv zaznav kilkoh inodi nesumisnih zmin Najbilsh pomitnoyu ye perehid z vikoristannya binarnogo formatu metadanih fajlu ASCII tekstovij format V podalshomu stali vikoristovuvati inshi programi rezervnogo kopiyuvannya ta arhivaciyi napriklad utilita tar majzhe na vsih Unix vitisnila cpio Ale cpio zalishivsya formatom arhivu v menedzheri paketiv RPM v programi yadra Linux 2 6 ta v instalyatori Apple pax Prikladi roboticpio yak i tar buv stvorenij dlya zberigannya rezervnih kopij fajliv Jogo robota polyagaye v tomu shob vzyati iyerarhichnu strukturu katalogiv fajliv razom z yih metadanimi nomer inode prava chasovi mitki ta sformuvati bezperervnij potik yakij mozhna zapisati na strichku Vin ne stiskaye svij zmist ale otrimanij potik abo fajl chasto stiskayut za dopomogoyu gzip abo zovnishnih utilit Stvorennya arhivu Dlya stvorennya arhivu vikoristovuyetsya opciya o angl copy out Pri comu programa cpio ochikuye na stdin spisok fajliv yaki potribno zaarhivuvati U comu prikladi utilita find formuye spisok imen fajliv razom z shlyahami peredaye ce v stdin utiliti cpio cpio vidaye gotovij arhiv v stdout find depth print cpio o gt path archive cpio Rozpakovka Dlya rozpakovki angl copy in vikoristovuyetsya opciya i Pri comu programa cpio ochikuye v stdin arhiv i vona bude vidtvoryuvati na fajlovij sistemi fajli Opciya d oznachaye stvoryuvati takozh katalogi za potrebi Opciya v dodaye bilsh informativnogo vivodu procesu cpio i vd lt archive cpio Dlya rozpakovki vsi inshi argumenti yaki jdut pislya opcij vvazhayutsya imenami fajliv z pidtrimkoyu globiv yaki neobhidno rozpakuvati Napriklad rozpakovka lishe odnogo fajlu etc fstab cpio i d etc fstab lt archive cpio Perelik fajliv v arhivi Dlya togo shob podivitis yaki fajli ye v arhivu vikoristovuyetsya opciya t cpio t lt archive cpio Arhiv mozhe mistiti v sobi yak absolyutni tak i vidnosni shlyahi fajliv Kopiyuvannya cpio pidtrimuye she tip operacij kopiyuvannya fajliv ce opciya p angl pass through Cya operaciya poyednuye kroki copy out ta copy in ne stvoryuyuchi bezposeredno fajl arhivu Kopiyuye stvoryuyuchi katalogi z potreboyu vistavlyaye prava na fajli a takozh mozhlivo zaminyayuchi isnuyuchi fajli opciya u i vivodyachi progres v stdout v find depth print cpio p dumv new pathStandartizaciya POSIXUtilita cpio bula v standarti do POSIX 1 1988 ale bula viklyuchena z POSIX 1 2001 Dlya roboti z cpio proponuyetsya utilita pax yaka mozhe pracyuvati z arhivami cpio opciya x s znachennyami cpoi ta bcpio dlya binary metadata cpio Divis takozhSpisok komand Unix Spisok formativ arhivivSpisok literaturihttps pubs opengroup org onlinepubs 007908799 xcu cpio html https pubs opengroup org onlinepubs 009695399 xrat xcu chap04 html