cpio(1) cpio(1)
NAME
cpio - Dateien und Verzeichnisse ein- und auslagern (copy in and out)
SYNTAX
cpio -o[zusatzoption ...] [einzeloption ...] Format 1
cpio -i[zusatzoption ...] [einzeloption ...] [muster ...] Format 2
cpio -p[zusatzoption ...] [einzeloption] dir Format 3
BESCHREIBUNG
Das Kommando cpio hat drei Funktionen:
- Es kopiert eine oder mehrere Dateien in eine Archiv-Datei (Format 1)
- Es holt Dateien aus einem zuvor mit cpio, tar oder pax erstellten
Archiv (Format 2)
- Es kopiert Dateien in ein Verzeichnis (Format 3)
Bei der Darstellung der drei Formate werden nur die Hauptoptionen -o,
-i, -p und -e beschrieben. Die übrigen Optionen sind im Abschnitt
ZUSATZ- und EINZELOPTIONEN erläutert. Bei den jeweiligen Formaten ist
angegeben, welche Zusatz- und Einzeloptionen Sie verwenden können.
OPTIONEN
Format 1: Dateien auslagern
cpio -o[zusatzoption ...] [einzeloption ...]
zusatzoption
a, A, B, c, L, q, v, V
einzeloption
-C puffergröße, -H header, -O archiv [-M mitteilung], -R benut-
zernummer
Hauptoptionen
-o (o - out) cpio liest von der Standardeingabe eine Reihe von Pfad-
namen einfacher Dateien und gibt diese Dateien zusammen mit Sta-
tusinformationen in einem speziellen Archivformat auf die Stan-
dardausgabe aus. Dabei wird die Ausgabe auf ein Vielfaches von
512 Byte aufgefüllt. Die Anzahl der Blöcke von 512 Byte gibt cpio
auf die Standardfehlerausgabe aus.
Wenn das Veritas File System (VxFS) auf dem System installiert ist,
ist die folgende zusätzliche Option möglich:
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
cpio(1) cpio(1)
-e extentop
Legt fest, wie mit den Speicherbereichattributen verfahren wer-
den soll. Diese Option legt fest, wie mit den dauerhaften Spei-
cherbereichattributen verfahren werden soll, wenn Dateien mit
Vorreservierung oder mit konstanten Speicherbereichgrößen bear-
beitet werden. Gültige Werte für extentop sind:
warn Ausgabe einer Warnung, wenn die Speicherbereichattri-
bute nicht beibehalten werden können (Voreinstellung).
force Abbrechen, wenn beim Auslagern der Datei die Speicher-
bereichattribute nicht beibehalten werden können.
ignore Ignorieren der Speicherbereichattribute.
Format 2: Dateien einlagern
cpio -i[zusatzoption ...] [einzeloption ...] [muster ...]
zusatzoption
b, B, c, d, f, k, m, r, s, S, t, u, v, V, 6
einzeloption
-C puffergröße, -E datei, -H header, -I archiv [-M mitteilung],
--
Hauptoptionen
-i (i - in) cpio liest aus einem Archiv, das zuvor mit cpio/tar/pax
erzeugt worden sein muß. Das Archiv muß über die Standardeingabe
an cpio übergeben werden. cpio holt aus der Eingabe diejenigen
Dateien, deren Namen zu muster passen. Diese Dateien werden
abhängig von den Optionen, die Sie angeben, erzeugt und in den
aktuellen Verzeichnisbaum kopiert. Die so eingelagerten Dateien
erhalten die gleichen Zugriffsrechte wie die mit cpio/tar/pax
ausgelagerten Dateien. Benutzer- und Gruppennummer sind diejeni-
gen des Benutzers, der cpio -i aufruft. Nur wenn der Systemver-
walter cpio -i aufruft, erhalten die eingelagerten Dateien die-
selbe Benutzer- bzw. Gruppennummer, wie sie die mit cpio/tar/pax
ausgelagerten Dateien hatten. Gerätedateien dürfen nur vom
Systemverwalter extrahiert werden.
Die Anzahl der gelesenen Blöcke von 512 Byte gibt cpio auf die
Standardfehlerausgabe aus.
Wenn das Veritas File System (VxFS) auf dem System installiert ist,
ist die folgende zusätzliche Option möglich:
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
cpio(1) cpio(1)
-e extentop
Legt fest, wie mit den Speicherbereichattributen verfahren wer-
den soll. Diese Option legt fest, wie mit den dauerhaften Spei-
cherbereichattributen verfahren werden soll, wenn Dateien mit
Vorreservierung oder mit konstanten Speicherbereichgrößen bear-
beitet werden. Gültige Werte für extentop sind:
warn Ausgabe einer Warnung, wenn die Speicherbereichattri-
bute nicht beibehalten werden können (Voreinstellung).
force Abbrechen, wenn beim Einlagern der Datei die Speicher-
bereichattribute nicht beibehalten werden können.
ignore Ignorieren der Speicherbereichattribute.
muster Mit muster legen Sie fest, welche Dateien aus der Eingabe
erzeugt werden. Zur Angabe von muster können Sie alle Shell-
Sonderzeichen zur Generierung von Dateinamen verwenden. muster
darf maximal 1024 Zeichen lang sein.
muster nicht angegeben:
Wirkt wie die Angabe eines Sterns *: Alle Dateien werden
erzeugt, auch die, deren Name mit einem Punkt beginnt.
Format 3: Dateien in ein Verzeichnis kopieren
cpio -p[zusatzoption ...] [einzeloption ...] dir
zusatzoption
a, d, l, L, m, u, v, V
einzeloption
-R benutzernummer, --
Hauptoptionen
-p (p - pass) cpio liest von der Standardeingabe eine Reihe von
Pfadnamen einfacher Dateien, erzeugt die entsprechenden Dateien
und kopiert sie abhängig von den Optionen, die Sie angeben, in
das Verzeichnis dir. Die Anzahl der kopierten Blöcke von 512 Byte
gibt cpio auf die Standardfehlerausgabe aus.
Wenn das Veritas File System (VxFS) auf dem System installiert ist,
ist die folgende zusätzliche Option möglich:
-e extentop
Legt fest, wie mit den Speicherbereichattributen verfahren wer-
den soll. Diese Option legt fest, wie mit den dauerhaften Spei-
cherbereichattributen verfahren werden soll, wenn Dateien mit
Vorreservierung oder mit konstanten Speicherbereichgrößen bear-
beitet werden. Gültige Werte für extentop sind:
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
cpio(1) cpio(1)
warn Ausgabe einer Warnung, wenn die Speicherbereichattri-
bute nicht beibehalten werden können (Voreinstellung).
force Abbrechen, wenn beim Aus- bzw. Einlagern der Datei die
Speicherbereichattribute nicht beibehalten werden können.
ignore Ignorieren der Speicherbereichattribute.
dir Name des Zielverzeichnisses, in das die Dateien kopiert werden.
Er darf maximal 1024 Zeichen lang sein.
ZUSATZ- und EINZELOPTIONEN (für alle 3 Formate)
Die Zusatzoptionen müssen ohne Leerzeichen direkt auf die Hauptoptio-
nen folgen, z. B. cpio -pdl.
Geben Sie die Einzeloptionen nach den Zusatzoptionen an. Den Einzelop-
tionen müssen Sie einen Bindestrich voranstellen. Auf die Einzeloptio-
nen muß das dazugehörige Argument folgen, z. B. cpio -oBcv -O
/dev/ios0/stape004.
a (a - access time) Nach dem Kopieren wird das Zugriffsdatum für
die Eingabedateien neu gesetzt.
Wenn auch die Option l gesetzt ist, dann wird das Datum für die
Dateien, auf die es Verweise gibt, nicht neu gesetzt.
Die Optionen a und m dürfen Sie nicht gemeinsam verwenden, sie
schließen sich gegenseitig aus.
A (A - append) Verwenden Sie diese Option nur zusammen mit der Ein-
zeloption -O archiv. Die angegebenen Dateien werden an ein beste-
hendes Archiv angefügt. Das Archiv muß für diese Operation in
einer Datei, auf Diskette(n) oder in einer logischen Platte einer
Festplatte stehen. Magnetband- und Kassettenlaufwerke werden
nicht unterstützt.
b (b - bytes) Verwenden Sie diese Option nur mit der Hauptoption
-i. Die Reihenfolge der Byte in jedem Wort wird umgedreht. Ein
Wort entspricht 4 Byte.
B (B - block) Bei der Ein- und Ausgabe wird mit einer Blockgröße
von 5120 Byte gearbeitet.
Wenn die Zusatzoption -B oder die Einzeloption -C nicht angegeben
sind, wird standardmäßig mit einer Puffergröße von 512 Byte gear-
beitet. Bei der Ausgabe der abgelegten oder eingelesenen Blöcke
geht cpio prinzipiell von einer Blockgröße von 512 Byte aus.
Diese Option ist nur bei Gerätedateien mit direktem Zugriff (raw
devices) sinnvoll.
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
cpio(1) cpio(1)
Archive, die mit einer bestimmten Blockgröße geschrieben wurden,
dürfen nicht mit einer kleineren Blockgröße gelesen werden. Umge-
kehrt werden kleinere Blockgrößen beim Lesen aus dem Archiv auto-
matisch erkannt.
Sie dürfen diese Option nicht zusammen mit der Hauptoption -p
verwenden.
c (c - compatible) cpio schreibt oder liest die Informationen im
Header (Dateivorspann) aus Gründen der Portabilität im US-ASCII-
Format.
Diese Zusatzoption (oder die Einzeloption -H) sollten Sie immer
dann verwenden, wenn Sie Information zwischen Rechnern unter-
schiedlichen Typs austauschen.
Die Optionen c, 6 und -H schließen sich gegenseitig aus und dür-
fen nicht zusammen verwendet werden.
Hinweis:
Ein mit c in Version 5.40 angelegtes Archiv kann nicht von einem
Rechner, auf dem eine frühere UNIX Version installiert ist, ein-
gelesen werden. Verwenden Sie die Einzeloption -H odc, wenn Sie
Ihr Archiv auch auf einem Rechner mit einer früheren Version ein-
lesen wollen. Ein mit -H odc gebildeter Header entspricht einem
mit c auf einer früheren Version gebildeten Header.
Aus Gründen der Kompatibilität zu SYSTEM V Release 3.2 oder frü-
her werden Dateien mit Indexnummern (I-Nodes), die größer als
65535 sind, standardmäßig nicht mit cpio gesichert. Wenn Sie sol-
che Dateien sichern wollen, so geben Sie die Zusatzoption c an.
Achtung: Dieses Format ist bei Dateien größer als 2 GB anzugeben.
In diesem Fall wird eine Warnung ausgegeben.
-C puffergröße
Bei der Ein- und Ausgabe wird mit der Blockgröße puffergröße in
Byte gearbeitet. puffergröße muß eine positive ganze Zahl sein.
Wenn Sie mit Disketten arbeiten, muß puffergröße ein Vielfaches
von 512 (Sektorengröße einer Diskette) sein. Standardmäßig wird
mit einer Puffergröße von 512 Byte gearbeitet, wenn die Einzelop-
tion -C oder die Zusatzoption B nicht angegeben ist.
Sie dürfen diese Option nicht mit der Hauptoption -p verwenden.
d (d - directory) Verzeichnisse werden automatisch angelegt, wenn
es notwendig ist.
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98
cpio(1) cpio(1)
-E datei
(E - extract) Mit dieser Einzeloption geben Sie eine Datei datei
an, die eine Liste der Dateinamen enthält, die aus dem Archiv
extrahiert werden sollen. Sie können nur einen Dateinamen pro
Zeile angeben, dürfen aber zusätzlich auch noch ein Muster ange-
ben.
f Es werden nur Dateien eingelesen, auf die das angegebene muster
nicht paßt.
-H header
(H - header) cpio schreibt oder liest Informationen im Dateivor-
spann (header) im Format header. Verwenden Sie prinzipiell entwe-
der -H oder die Option c, wenn Sie auf Maschinen verschiedenen
Typs lesen oder schreiben.
Folgende Formate sind zulässig:
crc ASCII-Header mit expandierten Indexnummern (I-Nodes) und
zusätzlicher Prüfsumme pro Datei
ustar Header und Format im IEEE/P1003 Data Interchange Standard
tar Header und Format im tar-Format
odc ASCII-Header mit kurzen Indexnummern (I-Nodes)
Wenn Sie Daten mit einem Rechner austauschen wollen, auf dem eine
frühere Version als SINIX V5.40 installiert ist, verwenden Sie
die Einzeloption -H odc. Ein mit -H odc in SINIX V5.40 gebildeter
Header entspricht einem mit c auf früheren SINIX-Versionen
erzeugten Header. Pfadangaben sind in binären Headern (Vorein-
stellung) oder in Headern, die durch -H odc erzeugt wurden, auf
maximal 256 Zeichen begrenzt, sonst sind maximal 1024 Zeichen
erlaubt.
Indexnummern (I-Nodes) von Dateien, die mit -H odc gesichert wer-
den, dürfen nicht größer als 262143 (777777 oktal) sein.
-I archiv
(I - input) Verwenden sie diese Option nur zusammen mit der
Hauptoption -i. cpio liest die Eingabe aus archiv.
k (k - corrupted) Verwenden Sie diese Option nur mit der Haupt-
option -i.
cpio versucht weiterzuarbeiten, wenn beschädigte Dateivorspanne
oder Ein-/Ausgabe-Fehlermeldungen auftreten. Wollen Sie Informa-
tionen von einem teilweise beschädigten Datenträger kopieren,
dann können Sie mit Hilfe dieser Option die fehlerfreien Dateien
extrahieren. Bearbeitet cpio Archive, die weitere Archive im
cpio-Format enthalten und tritt ein Fehler auf, so wird meist
Seite 6 Reliant UNIX 5.44 Gedruckt 11/98
cpio(1) cpio(1)
vorzeitig abgebrochen. cpio sucht dann nach dem nächsten korrek-
ten Dateikopf, der zu einem kleineren Archiv gehören kann, und
beendet sich, wenn es auf das Ende-Zeichen des Archivs stößt.
l (l - link) Nur mit der Option -p zu verwenden.
Die Dateien werden nicht kopiert, sondern es wird ein Verweis für
sie eingetragen. Wenn möglich sollten Sie bei größeren Dateimen-
gen mit Verweisen arbeiten, um Speicherplatz zu sparen, statt
Dateien in ein anderes Verzeichnis zu kopieren.
L (L - symbolic links) Ist diese Option gesetzt, dann verfolgt cpio
symbolische Verweise (links). Wenn Sie auf einer früheren Version
einen symbolischen Verweis kopieren, wird eine normale Datei
erzeugt, die den Pfadnamen der vom symbolischen Verweis bezeich-
neten Datei trägt.
Wenn Sie cpio mit der Zusatzoption L zusammen mit dem Kommando
find(1) anwenden, müssen Sie bei find den Ausdruck follow ange-
ben.
m (m - modification time) Das alte Änderungsdatum der Datei bleibt
erhalten. Diese Option ist für Verzeichnisse unwirksam. Die
Option m und die Option a dürfen Sie nicht gemeinsam verwenden,
sie schließen sich gegenseitig sich aus.
-M mitteilung
(M - message) Wenn Sie diese Option mit -O oder -I und einer
Gerätedatei mit direktem Zugriff (raw device) verwenden, können
Sie hier eine Mitteilung definieren, die ausgegeben wird, wenn
das Bandende erreicht ist. Geben Sie in mitteilung %d an, wird
dafür die laufende Nummer des Folgebandes eingesetzt. Sie können
auch mehrere Wörter für mitteilung angeben, müssen diese aller-
dings in Anführungszeichen "" einschließen.
-O archiv
(O - output) Verwenden Sie diese Option nur mit der Hauptoption
-o.
cpio leitet die Ausgabe nach archiv um.
-q (q - quick) Zum schnellen Lesen und Schreiben werden die Möglich-
keiten der Interprozeßkommunikation genutzt. Es werden zwei Pro-
zesse gestartet, dabei übernimmt der Sohnprozeß den Lesevorgang
vom Gerät, der Vaterprozeß den Schreibvorgang.
Nur mit der Hauptoption -o zu verwenden.
r (r - rename) Die Dateien können beim Kopieren interaktiv umbe-
nannt werden. cpio fragt bei jeder Datei nach einem neuen Namen.
Wenn Sie mit einer Leerzeile antworten, wird die Datei nicht
umbenannt.
Seite 7 Reliant UNIX 5.44 Gedruckt 11/98
cpio(1) cpio(1)
Die Option r funktioniert nicht bei Magnetbändern, Magnetbandkas-
setten und Video-8-Kassetten.
-R benutzernummer
(R - reassign) Diese Option darf nur der Systemverwalter verwen-
den. cpio ersetzt Benutzerkennung und Gruppennummer entsprechend
benutzernummer. benutzernummer muß in /etc/passwd eingetragen
sein.
s (s - swap) Verwenden Sie diese Option nur zusammen mit der Haupt-
option -i.
In jedem Halbwort werden die Byte vertauscht. Ein Wort entspricht
4 Byte.
S (S - swap) Verwenden Sie diese Option nur mit der Hauptoption -i.
In jedem Wort werden die Halbworte vertauscht. (Ein Wort ent-
spricht 4 Byte.)
t (t - table of contents) Es wird ein Inhaltsverzeichnis des Daten-
trägers, von dem die Dateien eingelesen werden sollen ausgegeben.
Es werden keine Dateien kopiert.
u (u - unconditional) Eine vorhandene Datei wird durch eine neu
einzulesende Datei mit demselben Pfadnamen ersetzt, auch wenn die
vorhandene Datei ein neueres Zugriffsdatum als die neu einzule-
sende Datei hat.
u nicht angegeben:
Vorhandene Dateien werden nur dann durch neu einzulesende Dateien
mit denselben Pfadnamen ersetzt, wenn die neu einzulesenden
Dateien neueren Datums als die vorhandenen sind.
v (v - verbose) Die Namen archivierter bzw. eingelesener Dateien
werden ausgegeben. In Kombination mit der Option t werden zusätz-
lich detaillierte Informationen über die betroffenen Dateien aus-
gegeben.
V (V - verbose) Für jede gelesene bzw. geschriebene Datei wird ein
Punkt ausgegeben, um dem Benutzer ohne nähere Informationen
lediglich anzuzeigen, daß cpio arbeitet.
6 (6 - 6. Edition) Verwenden Sie diese Option nur mit der Hauptop-
tion -i.
cpio arbeitet eine Archivdatei im Format des UNIX Systems Edition
6 ab. Die Optionen c, -H und 6 schließen einander aus.
-- Ende der Optionenliste. Die Angabe ist nötig, wenn das erste
Argument mit - beginnt.
Seite 8 Reliant UNIX 5.44 Gedruckt 11/98
cpio(1) cpio(1)
MELDUNGEN
Warning: just archiving file datei > 2GB.
cpio format unable to handle datei - filesize > 2GB.
Please use -c Option.
Error: Old format cannot support expanded types on datei
Sie haben die Option c nicht angegeben. cpio verwaltet aus Kompa-
tibilitätsgründen die Indexnummer (I-Node) einer zu kopierenden
Datei so, daß Indexnummern über 64 Kbyte nur bearbeitet werden
können, wenn Sie die Option c angeben.
INTERNATIONALE UMGEBUNG
Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
texte.
In geklammerten regulären Ausdrücken bestimmt die Umgebungsvariable
LCCOLLATE die Bedeutung von Zeichenbereichen, Äquivalenzklassen und
Zeicheneinheiten, die Umgebungsvariable LCCTYPE die Bedeutung von
Zeichenklassen.
Die Umgebungsvariable LCTIME bestimmt das Format der Datums- und
Zeitausgabe bei der Auflistung des Archivinhalts mit der Option -v.
Wenn LCMESSAGES, LCCOLLATE, LCCTYPE oder LCTIME nicht oder als
leere Zeichenkette definiert ist, wird der Wert von LANG als Standard-
wert für die jeweils nicht gesetzte oder leere Variable herangezogen.
Ist auch LANG nicht oder als leere Zeichenkette definiert, verhält
sich das System so, als wäre es nicht internationalisiert.
Hat eine der Variablen für die internationale Umgebung einen ungülti-
gen Wert, verhält sich das System so, als wäre keine Variable gesetzt.
Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
Bereich der Internationalisierung.
BEISPIELE
Beispiel 1
Alle Dateien im aktuellen Verzeichnis, deren Namen mit .f enden, sol-
len in eine Archiv-Datei f.progs ausgelagert werden:
$ find . -name '*.f' -print | cpio -o >f.progs
56 blocks
find . -name '*.f' durchsucht das aktuelle Verzeichnis nach Dateina-
men, die mit .f enden und schreibt diese auf Standardausgabe, die
durch das Pipe-Zeichen | mit der Standardeingabe von cpio verbunden
ist. cpio -o liest die Dateinamen und kopiert die entsprechenden
Dateien zusammen mit Statusinformationen auf die Standardausgabe.
Durch das Größerzeichen > wird die Standardausgabe in die Datei
Seite 9 Reliant UNIX 5.44 Gedruckt 11/98
cpio(1) cpio(1)
f.progs umgelenkt. Nach der Ausführung gibt cpio die Anzahl der
kopierten Blöcke auf die Standardfehlerausgabe aus.
Beispiel 2
Der Inhalt eines Verzeichnisses mit allen Unterverzeichnissen wird auf
eine Magnetbandkassette kopiert:
$ find . -print | cpio -oBv -H odc -O /dev/ios0/stape004
find durchsucht das aktuelle Verzeichnis und alle Verzeichnisse, die
darunter liegen und gibt die relativen Pfadnamen aller gefundenen
Dateien auf die Standardausgabe aus. Durch das Pipe-Zeichen | ist die
Standardausgabe von find mit der Standardeingabe von cpio verbunden.
cpio liest die Namen und kopiert die Dateien auf die Magnetbandkas-
sette, wobei die Verzeichnisstruktur beibehalten wird. Während des
Kopiervorgangs werden die Namen der Dateien, die ausgelagert werden,
auf die Standardausgabe ausgegeben (Option v). Option B wird benutzt,
um die Puffergröße zu vergrößern; Option -H odc, um zu garantieren,
daß das Band auch auf Rechnern anderen Typs eingelesen werden kann.
Die Option -H odc sollten Sie aus Gründen der Kompatibilität zu ande-
ren Systemen möglichst immer verwenden.
Beispiel 3
Aus dem Archiv file.cpio sollen alle Dateien, deren Namen mit .c
(= Muster) enden, extrahiert werden:
$ cpio -ivmdB *.c <file.cpio
Beispiel 4
Ein Archiv auf einer Magnetbandkassette in dem Gerät
/dev/ios0/rstape003 soll extrahiert werden:
$ cpio -ivdB /dev/ios0/rstape003
Beispiel 5
Es soll eine Kopie des Verzeichnisses verz.alt mit allen Unterver-
zeichnissen erstellt werden. Die Kopie soll den Namen verz.neu enthal-
ten:
$ cd verz.alt
$ find . -print | cpio -pdl verz.neu
Durch den cd-Aufruf wechseln Sie in das Verzeichnis verz.alt. find
durchsucht dann dieses Verzeichnis und alle unter diesem liegenden
Verzeichnisse und gibt die Namen aller gefundenen Dateien auf die
Standardausgabe aus. Durch das Pipe-Zeichen | ist die Standardausgabe
von find mit der Standardeingabe von cpio verbunden. cpio liest die
Namen und kopiert die Dateien in das Verzeichnis verz.neu (-p verz.neu).
Seite 10 Reliant UNIX 5.44 Gedruckt 11/98
cpio(1) cpio(1)
Wenn es erforderlich ist, werden Verzeichnisse angelegt (-d), d. h.
rekursiv werden auch alle Unterverzeichnisse von verz.alt kopiert. Da
die Option -l angegeben ist, werden Dateien wenn möglich nicht kopiert,
sondern es werden Verweise eingerichtet.
SIEHE AUCH
ar(1), cat(1), echo(1), find(1), ls(1), mt(1), pax(1), tar(1), ar(4),
archives(4).
Seite 11 Reliant UNIX 5.44 Gedruckt 11/98