Cpio
Bezeichnung
cpio - kopiert Dateien in und aus Archiven
cpio nutzt die Ergebnisse des ls oder find Befehls, um eine cpio-Datei zu erzeugen. cpio macht keine Komprimierung, aber Archive werden oftmals mit gzip oder anderen Kompressionsprogrammen komprimiert.
cpio hat drei grundlegende Arbeitsmodus:
copy-out mode – die Dateien werden in ein Archiv kopiert. Um Dateinamenslisten zu erzeugen, benutzt man den find oder ls Befehl.
copy-in mode – die Daten vom Archiv werden in das Dateisystem kopiert.
copy-pass mode – die Dateien werden von einem Verzeichnis in ein anderes kopiert.
Übersicht
cpio {-o|--create} [-0acvABLV] [-C bytes] [-H format] [-M message] [-O [[user@]host:]archive] [-F [[user@]host:]archive] [--file=[[user@]host:]archive] [--format=format] [--message=message][--null] [--reset-access-time] [--verbose] [--dot] [--append] [--block-size=blocks] [--dereference] [--io-size=bytes] [--rsh-command=command] [--help] [--version] < name-list [> archive]
Optionen
Option | Beschreibung |
---|---|
-0, --null | Im copy-out und copy-pass Modus wird die Liste der Dateinamen durch ein Null-Zeichen statt durch einen Zeilentrenner getrennt. Damit können Dateien mit archiviert werden, die Zeilentrenner im Dateinamen haben. GNU-find ist ein Programm, das eine Liste von Dateinamen erzeugen kann, die durch Null-Zeichen getrennt sind |
-a, --reset-access-time | Die Zugriffszeitmarke der Dateien wird nach der Archivierung wiederhergestellt, so daß nicht spürbar ist, daß die Dateien gerade gelesen wurden |
-A, --append | Die Ausgabe wird an ein bestehendes Archiv angehängt. Nur gültig im copy-out Modus. Das Archiv muß eine reguläre Datei sein, die mit der -O oder -F (--file) Option angegeben wurde |
-b, --swap | Im copy-in Modus wird die Bytereihenfolge umgedreht. Damit können Daten zwischen Maschinen mit 32-Bit big-endian und little-endian Formaten ausgetauscht werden |
-B | Die IO-Blockgröße wird auf 5120 Bytes eingestellt. Standardmäßig beträgt sie 512 Byte |
-block-size=BLOCK-SIZE | Setzt die IO-Blockgröße auf BLOCK-SIZE mal 512 Byte |
-c | Das alte ASCII Format wird benutzt |
-C IO-SIZE, --io-size=IO-SIZE | Setzt die IO-Blockgröße auf IO-SIZE Byte |
-d, --make-directories | Führende Verzeichnisse werden erstellt, wenn nötig |
-E FILE, --pattern-file=FILE | Im copy-in Modus werden zusätzliche Muster für zu extrahierende oder aufzulistende Dateien aus der angegebenen Datei gelesen |
-f, --nonmatching | Kopiert nur Dateien, die nicht auf das angegebene Muster passen |
-F, --file=archive | Das Archiv wird nicht auf die Standard-Ausgabe geschrieben sondern in den angegebenen Dateinamen. Um auf ein Bandlaufwerk (oder eine Datei) eines anderen Rechners zuzugreifen, kann dem Dateinamen ein Hostname: vorangestellt werden. Der Hostname seinerseits kann einen Usernamen und ein @ Zeichen am Anfang besitzen um das remote-Drive unter der entsprechenden Userkennung zu benutzen. Typischerweise muß dazu ein Eintrag in der ~/.rhosts-Datei auf dem Fremdrechner vorliegen |
-force-local | Auch wenn der Archivdateiname (mit -F, -I oder -O angegeben) einen Doppelpunkt enthält wird er als lokaler Dateinamen interpretiert |
-H FORMAT, --format=FORMAT | Das angegebene Format wird benutzt. Gültige Formate sind:
bin:Das obsolete Binärformat (Voreinstellung im copy-out Modus). odc:Das alte (POSIX.1) portable Format. newc:Das neue (SVR4) portable Format, das Dateisysteme mit mehr als 65536 Inodes unterstützt. crc:Das neue (SVR4) portable Format mit einer Prüfsumme. tar:Das alte tar-Format. ustar:Das POSIX.1 tar-Format. Erkennt auch GNU-tar, das ähnlich aber nicht identisch ist. hpbin:Das obsolete Binärformat des HPUX-cpio. hpodc:Das portable HPUX cpio-Format. |
-i, --extract | Schaltet den copy-in Modus ein |
-I archive | Gibt den Archiv-Dateinamen an, der statt der Standard-Eingabe benutzt werden soll. Für Zugriffe auf entfernte Rechner gilt das Selbe wie bei der -F Option |
-k | Ignoriert |
-l, --link | Dateien werden gelinkt statt kopiert, wo immer das möglich ist |
-L, --dereference | Symbolische Links werden dereferenziert (Die Dateien, auf die der Link verweist werden kopiert, anstatt den Link zu kopieren) |
-m, --preserve-modification-time | Die Modification-Time wird erhalten, wenn Dateien erstellt werden |
-M MESSAGE, --message=MESSAGE | Die angegebene Message wird ausgegeben, wenn das Ende eines Backup-Mediums erreicht ist. Die Meldung kann also die Aufforderung an den User enthalten, das Band (oder die Diskette) zu wechseln. Enthält die Nachricht ein %d, so wird das durch die aktuelle Volume-Nummer (beginnend mit 1) ersetzt |
-n, --numeric-uid-gid | Bei der "geschwätzigen Ausgabe" eines Inhaltsverzeichnisses werden die User- und GruppenIDs statt der User- und Gruppennamen ausgegeben. Das funktioniert insbesondere auch bei tar-Archiven |
--no-absolute-filenames | Im copy-in Modus werden alle Dateien relativ zum aktuellen Verzeichnis erstellt, auch wenn sie mit einem absoluten Pfadnamen im Archiv stehen |
--no-preserve-owner | Im copy-in und copy-pass Modus werden die Eigentümerschaft der Dateien nicht verändert. Sie behalten also die Eigentümer der User, die sie ausgepackt haben. Das ist die Voreinstellung für Normaluser |
-o, --create | Schaltet den copy-out Modus ein |
-O archive | Das Archiv wird in die angegebene Datei geschrieben, statt auf die Standard-Ausgabe. Für Zugriffe auf entfernte Rechner gilt das Selbe wie bei der -F Option |
--only-verify-crc | Wenn ein Archiv im crc-Format im copy-in Modus gelesen wird, so werden nur die Prüfsummen überprüft, anstatt die Dateien tatsächlich auszupacken |
-p, --pass-through | Schaltet den copy-pass Modus ein |
-quiet | Keine Ausgabe der Anzahl geschriebener Blöcke |
-r, --rename | Dateien werden interaktiv umbenannt |
-R [user][:.][group], --owner [user][:.][group] | Im copy-out und copy-pass Modus werden die Eigentümerschaft und Gruppenmitgliedschaft der zu erzeugenden Dateien auf die angegebenen Werte gesetzt. Wird die Gruppe weggelassen, aber der Doppelpunkt angegeben, so wird die Login-Gruppe des entsprechenden Users verwendet. Diese Option kann nur vom Superuser (root) verwendet werden |
--rsh-command=COMMAND | Bei der Zusammenarbeit mit mt wird mitgeteilt, welches Kommando mt benutzen soll um mit entfernten Geräten zu arbeiten, anstelle der voreingestellten Kommandos /usr/bin/ssh, /usr/bin/rsh oder dem Inhalt der Umgebungsvariable MT_RSH |
--sparse | Im copy-in und copy-pass Modus werden Dateien, die große Blöcke mit Nullzeichen enthalten als Sparse-Dateien geschrieben |
-s, --swap-bytes | Im copy-in Modus werden die Bytes jedes Halbwortes (2 Byte) vertauscht |
-S, --swap-halfwords | Im copy-in Modus werden die Halbwörter jedes Wortes (4 Byte) vertauscht |
-t, --list | Ausgabe eines Inhaltsverzeichnisses |
-u, --unconditional | Alle Dateien, werden ersetzt, ohne zu fragen |
-v, --verbose | Geschwätzige Ausgabe |
-V --dot | Ein Punkt (.) wird für jede bearbeitete Datei ausgegeben |
-version | Gibt die Versionsnummer von cpio aus und beendet dann das Programm |