cpio
Erscheinungsbild
cpio - Kopiert Dateien in und aus Archiven
Beschreibung
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 Arbeitsmodi
- 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.
Installation
Aufruf
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 |
Argumente
Umgebungsvariablen
Exit-Status
Anwendung
Problembehebung
Konfiguration
Dateien
Anhang
Siehe auch
Dokumentation
- Man-Page
- Info-Page
Links
Projekt
Weblinks