(copy in and out)
Das Kommando cpio hat 3 Funktionen:
Es kopiert eine oder mehrere Dateien in eine Archivdatei (Format 1)
Es holt Dateien aus einem zuvor erstellten Archiv (Format 2)
Es kopiert Dateien in ein Dateiverzeichnis (Format 3)
Das Kommando cpio wurde aus dem XPG4-Standard zurückgezogen. Es wird durch das Kommando pax abgelöst.
In Zukunft sollte nur noch das Kommando pax verwendet werden, da cpio nur noch aus Kompatibilitätsgründen unterstützt wird.
Syntax
Format 1: | cpio -o[Bacv][ -D archiv] |
Format 2: | cpio -i[Bcdmrtuvf][ -D archiv][ muster...] |
Format 3: | cpio -p[adlmruv] dvz |
Bei der Darstellung der drei Formate werden nur die Hauptoptionen -o, -i und -p beschrieben. Dateien auslagern
Zusatzoption
Einzeloption
(o - out) Dateien einlagern
Zusatzoption
Einzeloption
(i - in) Diese Dateien werden abhängig von den angegebenen Optionen in den aktuellen Dateiverzeichnis-Baum kopiert. Die so eingelagerten Dateien erhalten die gleichen Zugriffsrechte wie die zuvor mit cpio -o ausgelagerten Dateien. Eigentümer und Gruppennummer sind die des Benutzers, der cpio - i aufruft. Nur wenn der Systemverwalter cpio -i aufruft, erhalten die eingelagerten Dateien dieselbe Eigentümer- und Gruppennummer, wie sie die mit cpio -o ausgelagerten Dateien hatten. Gerätedateien dürfen nur von Systemverwalter extrahiert werden.
Mit muster legen Sie fest, welche Dateien aus dem Archiv extrahiert werden. Zur Angabe von muster können Sie alle Shell-Sonderzeichen zur Generierung von Dateinamen verwenden (siehe Abschnitt „Dateinamen-Erzeugung“). Ist muster nicht angebenen, werden alle Dateien aus dem Archiv extrahiert. Dateien in ein Dateiverzeichnis kopieren
Zusatzoption
(p - pass) Die Anzahl der kopierten Blöcke von 512 Byte gibt cpio auf die Standard-Fehlerausgabe aus.
Name des Dateiverzeichnisses, in das die Dateien kopiert werden. Dieses Dateiverzeichnis muss auch dann bereits vorhanden sein, wenn die Zusatzoption -d angegeben wird. Zusatz- und EinzeloptionenDie folgenden Zusatzoptionen können in beliebiger Reihenfolge angegeben werden. Mit Ausnahme der Einzeloption -D müssen sie ohne Leerzeichen direkt an die Hauptoption -o,-i oder -p angefügt werden.
|
Fehler
Sie haben die Option -c nicht angegeben. cpio verwaltet aus Kompatibilitätsgründen die Indexnummer (I-Node) einer zu kopierenden Datei so, dass Indexnummern über 64 Kbyte nur bearbeitet werden können, wenn Sie die Option -c angeben.
Bei Format 2 haben Sie die Option -d nicht angegeben. |
Internationale Umgebung
Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos cpio: LANG Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden. LC_ALL Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen. LC_COLLATE Legt die internationale Umgebung für das Verhalten von Bereichen, Äquivalenzklassen und Zeicheneinheiten in erweiterten regulären Ausdrücken für ja/nein-Abfragen fest. LC_CTYPE Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten). LC_MESSAGES Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden. NLSPATH Legt den Pfad der Meldungsdateien für LC_MESSAGES fest. |
Beispiel 1
Alle Dateien im aktuellen Dateiverzeichnis, deren Namen mit mb beginnen, sollen in eine Archivdatei mailarchiv ausgelagert werden:
Das find-Kommando durchsucht das aktuelle Verzeichnis nach Dateinamen, die mit mb beginnen und schreibt diese auf Standard-Ausgabe, die durch das Pipe-Zeichen | mit der Standard-Eingabe von cpio verbunden ist. cpio -o liest die Dateinamen und kopiert die entsprechenden Dateien zusammen mit Status-Informationen in die Archivdatei mailarchiv (Option -D). Nach der Ausführung gibt cpio die Anzahl der kopierten Blöcke auf die Standard-Fehlerausgabe aus. |
Beispiel 2
Das Inhaltsverzeichnis der Archivdatei mailarchiv soll ausgegeben werden:
|
Beispiel 3
Es soll eine Kopie des Dateiverzeichnisses dir.old mit allen Unterverzeichnissen erstellt werden. Die Kopie soll den Namen dir.new enthalten:
Durch den cd-Aufruf wechseln Sie in das Dateiverzeichnis dir.old. Das find-Kommando durchsucht dann dieses Dateiverzeichnis und alle untergeordneten Dateiverzeichnisse und gibt die Namen aller gefundenen Dateien auf die Standard-Ausgabe aus. Durch das Pipe-Zeichen | ist die Standard-Ausgabe von find mit der Standard-Eingabe von cpio verbunden. cpio liest die Namen und kopiert die Dateien in das Dateiverzeichnis dir.new, das bereits vorhanden sein muss (im Beispiel auf gleicher Ebene im Dateibaum wie dir.old). Wenn es erforderlich ist, werden Unterverzeichnisse angelegt (-d), d.h. rekursiv werden auch alle Unterverzeichnisse von dir.old kopiert. Da die Option -l angegeben ist, werden Dateien wenn möglich nicht kopiert, sondern es werden Verweise eingerichtet. |
Siehe auch
ar, cat, echo, find, ls, pax, tar |