Cpio

Stabilní verze byla zkontrolována 14. března 2022 . Existují neověřené změny v šablonách nebo .

cpio
Typ archivář
Vývojář Projekt GNU
Zapsáno v C
Operační systém Unixové
Nejnovější verze 2.13 ( 6. listopadu 2019 )
Licence GPL
webová stránka gnu.org/software/cpio/

cpio (z angličtiny  Copy Input/Output ) je binární archivátor a formát souborů . Obslužný program cpio byl použit jako  páskový archivátor , původně součást PWB/UNIX , stejně jako součást UNIX System III a UNIX System V. Použití tar , který byl nedílnou součástí Research Unix , díky čemuž se stal snadno dostupným, však naznačovalo, že jde o pohodlnější řešení. [1] Ale pomocí cpio správcem balíčků RPM , initramfs Linuxové jádro verze 2.6 a instalátor archivu „ pax “ společnosti Apple umožnily, aby cpio zůstalo jedním z důležitých formátů archivů.

cpio-archive

Záloha cpio je v podstatě proud souborů a adresářů do jednoho archivu, často s příponou .cpio . Archiv obsahuje informace v záhlaví, které umožňují aplikaci, jako je GNU cpio, extrahovat soubory a adresáře do systému souborů. Záhlaví archivu cpio také obsahuje další informace, jako je název souboru, čas vytvoření, vlastník a přístupová práva (oprávnění).

Archiv cpio je svou funkčností podobný archivu tar a byl vytvořen k sekvenčnímu ukládání záloh na pásková zařízení (jako jsou páskové jednotky ). Stejně jako formát tar jsou archivy CPIO často komprimovány pomocí Gzip a dodávány jako soubory .cpgz (nebo .cpio.gz ).

Oracle dodává významnou část svého softwaru ve formátu cpio.

POSIX a cpio

Nástroj cpio byl standardizován v POSIX .1-1988 . To však muselo být zrušeno v následujících verzích počínaje POSIX.1-2001 kvůli limitu 8 GB na soubor. POSIX deklaruje jako standard utilitu pax , kterou lze použít místo cpio ke čtení a vytváření archivů.

GNU cpio

Aplikace GNU cpio je jednoduchý nástroj, který lze použít k uložení informací do archivu cpio nebo tar. Aplikace cpio je zdarma a dostupná na oficiálních stránkách hnutí GNU [2] .

Příklady použití

Chcete-li archivovat celý strom adresářů (předtím: cd požadovanou složku), může příkaz find předat seznam souborů a adresářů do cpio: find ./* | cpio -o > strom.cpio

Cpio kopíruje soubory z jednoho adresářového stromu do druhého v kombinaci kroků kopírování-out a kopírování bez "skutečné" archivace. Čte seznam souborů ke kopírování ze standardního vstupu; cílový adresář, do kterého se mají kopírovat, je zadán jako povinný argument: find . -hloubka -tisk0 | cpio --null -pvd new-dir

Chcete-li extrahovat soubory z archivu cpio, předejte název archivu obslužnému programu cpio prostřednictvím standardního vstupu (toto se přepíše bez potvrzení): cpio -id < soubor cpio . Parametr -i říká cpio, aby četl archiv, ze kterého má extrahovat soubory, a parametr -d říká cpio, aby v případě potřeby vytvořilo příslušné adresáře. Je také možné zadat příznak -v pro výpis jmen extrahovaných souborů.

Všechny další argumenty příkazového řádku jsou vzory glob podobné shellu ; z archivu lze zkopírovat pouze soubory v archivu, jejichž názvy odpovídají alespoň jednomu vzoru. Následující příklad extrahuje etc/fstab z archivu (formát obsahu archivu je nutné nejprve zkontrolovat pomocí ` cpio -l `, abyste zjistili, jak je uložena cesta): cpio -id etc/fstab < cpifile .

Poznámky

  1. Peek J, O'Reilly T, Loukides M. 1997. Unix Power Tools. O'Reilly & Associates Inc. ISBN 1-56592-260-3 .
  2. Cpio - Projekt GNU - Free Software Foundation (FSF) . Datum přístupu: 7. prosince 2009. Archivováno z originálu 25. listopadu 2009.

Odkazy