Startseite > Komprimierung/Archivierung > cpio

cpio: Erstellen und Extrahieren von Dateiverzeichnissen

cpio ist ein Dienstprogramm zum Kopieren von Dateien in ein Archiv oder zum Extrahieren von Dateien aus einem Archiv. Es verarbeitet typischerweise eine Liste von Dateien, die über eine Pipe empfangen werden, und wird für Backups, Wiederherstellungen und das Kopieren von Verzeichnisstrukturen verwendet. Es kann verschiedene Archivierungsaufgaben über seine drei Hauptmodi (copy-out, copy-in, copy-pass) ausführen.

Übersicht

cpio ist ein Stream-orientierter Archivar, der von der Standardeingabe liest, um eine Dateiliste zu erhalten, oder auf die Standardausgabe schreibt, um ein Archiv zu erstellen. Dies bietet eine starke Flexibilität, wenn es über eine Pipe mit anderen Befehlen (z. B. find) verwendet wird.

Hauptmerkmale

  • Drei Hauptbetriebsmodi: copy-out (-o), copy-in (-i), copy-pass (-p)
  • Flexible Verarbeitung von Dateilisten über Pipes
  • Unterstützung für verschiedene Archivformate
  • Verwendung für Backups, Wiederherstellungen und das Kopieren von Verzeichnisstrukturen

Hauptoptionen

cpio erfordert eine Option zur Angabe des Betriebsmodus und bietet darüber hinaus verschiedene Hilfsoptionen.

Betriebsmodi

Allgemeine Optionen

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`cpio` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Verschiedene Anwendungsbeispiele, die die drei Hauptmodi von cpio nutzen.

Alle Dateien im aktuellen Verzeichnis in ein Archiv packen

find . -print0 | cpio -ov0 > archive.cpio

Der Befehl find erstellt eine Liste aller Dateien im aktuellen Verzeichnis, die dann mit cpio -ov in die Datei archive.cpio archiviert werden. Die Option -0 stellt sicher, dass Dateinamen mit Leerzeichen sicher verarbeitet werden.

Dateien aus einem Archiv extrahieren

cpio -ivd < archive.cpio

Alle Dateien aus der erstellten Datei archive.cpio in das aktuelle Verzeichnis extrahieren. Die Option -d erstellt bei Bedarf automatisch Verzeichnisse.

Verzeichnisstruktur an einen anderen Ort kopieren

find . -depth -print0 | cpio -pd0v /new/directory

Alle Dateien und die Verzeichnisstruktur des aktuellen Verzeichnisses in den Pfad /new/directory kopieren. Der Modus -p kopiert direkt, ohne ein Archiv zu erstellen. -d steht für Verzeichniserstellung und -v für ausführliche Ausgabe.

Nur Dateien mit einem bestimmten Muster aus einem Archiv extrahieren

cpio -ivd 'report*' < archive.cpio

Nur Dateien extrahieren, die mit 'report' beginnen, aus archive.cpio. Platzhalter können verwendet werden.

Tipps & Hinweise

cpio ist ein mächtiges Werkzeug, aber es ist wichtig, die richtige Verwendung zu beherrschen.

Nützliche Tipps zur Verwendung von cpio

  • Verwendung mit dem Befehl `find`: Da `cpio` eine Dateiliste von der Standardeingabe erwartet, ist es üblich, den Befehl `find` zu verwenden, um eine Dateiliste mit komplexen Bedingungen zu erstellen und diese dann an `cpio` zu übergeben.
  • Verwendung der Option `-0`: Wenn Dateinamen Leerzeichen oder Sonderzeichen enthalten können, ist es wichtig, `find -print0` und `cpio -0` zusammen zu verwenden, um sicherzustellen, dass Dateinamen korrekt verarbeitet werden.
  • Wichtigkeit der Moduswahl: Die drei Modi `-o`, `-i` und `-p` haben jeweils unterschiedliche Zwecke, daher sollte der richtige Modus für die jeweilige Aufgabe ausgewählt werden.
  • Absolute und relative Pfade: Da `cpio` die Pfade, wie sie im Archiv gespeichert sind, verwendet, werden beim Extrahieren Dateien relativ zum aktuellen Verzeichnis extrahiert, wenn beim Erstellen des Archivs relative Pfade wie `find .` verwendet wurden. Wenn absolute Pfade archiviert werden, werden diese auch beim Extrahieren beibehalten.

Gleiche Kategorie Befehle