Cpio
cpio ist ein Archivierungsprogramm und Dateiformat aus dem Unix-Umfeld, welches in seiner Funktionsweise dem Kommando tar ähnelt. Die Abkürzung cpio steht für „copy in, copy out“. Mit cpio können Dateien sequentiell in eine Archivdatei oder auf Magnetband geschrieben werden. cpio-Dateien werden oft mit der Dateiendung .cpio versehen. Ebenso wie tar-Dateien sind cpio-Archive größer als die Summe der im Archiv enthaltenen Einzeldateien, so dass unter Umständen eine Datenkomprimierung sinnvoll ist. Zur Komprimierung wird unter Unix in der Regel compress, gzip oder bzip2 verwendet.
Die GNU-Version des cpio-Kommandos kann neben verschiedenen cpio-Formaten auch tar-Archivformate verwenden. Ein weiteres Programm, welches das cpio-Dateiformat verwendet, ist afio.
POSIX-Standard
cpio ist im POSIX.1-1988-Standard enthalten. Aus späteren Versionen, ab POSIX.1-2001, wurde er aufgrund seiner maximalen Dateigröße von 8 GB entfernt. Das neue POSIX-Kommando pax unterstützt jedoch sowohl das tar- als auch das cpio-Format. Der Name pax (Lateinisch für „Frieden“) wurde gewählt, um Frieden zwischen den beiden rivalisierenden Programmen cpio und tar zu schaffen.
Beispielaufrufe
cpio verfügt über drei Grundfunktionen, welche über die Optionen -o („Copy-Out-Modus“, Erzeugen eines Archivs), -i („Copy-In-Modus“, Extrahieren aus einem Archiv) und -p („Copy-Pass-Modus“, Kopieren von Verzeichnisbäumen).
Erzeugen einer cpio-Datei, welche die Dateien des aktuellen Verzeichnisses enthält:
ls | cpio -o > verzeichnis.cpio
Erzeugen einer cpio-Datei, welche die Dateien und Unterverzeichnisse des aktuellen Verzeichnisses enthält:
find . -print -depth | cpio -o > verzeichnis.cpio
Wiederherstellen von Dateien aus einem cpio-Archiv:
cpio -i < archiv.cpio
Auflisten der im Archiv enthaltenen Dateien, ohne diese zu extrahieren:
cpio -it < archiv.cpio
Vergleich zwischen cpio und tar
Von den beiden Unix-Kommandos cpio und tar ist tar bekannter und weiter verbreitet. Dennoch hat cpio Vorteile zu bieten: beim cpio-Format gibt es in der Regel keine Kompatibilitätsprobleme zwischen verschiedenen Unix-Plattformen. Des Weiteren ist cpio, anders als tar, in der Lage Device-Inodes im Archiv zu speichern. Ein weiterer Vorteil gegenüber tar ist, dass bei cpio über das find-Kommando einfach Dateien selektiv aus einer Reihe von Dateien oder Verzeichnissen ausgewählt werden können, da das Argument von cpio eine Liste von Namen aus dem Eingabestrom ist.
Siehe auch
Weblinks
- GNU-cpio-Webseite (englisch)
- cpio-HOWTO von Gene Michael Stovers (englisch)