pax (Unix)
pax ist ein Kommando unter Unix-Betriebssystemen zur Dateiarchivierung. Das Kommando versteht sich als Nachfolger von tar und cpio und arbeitet mit einer großen Anzahl verschiedener tar- und cpio-Archiv-Datenformate, daher steht der Name pax für portable archive exchange, aber auch in Anlehnung an das lateinische Wort für „Frieden“, denn das Programm soll Frieden schaffen zwischen den beiden rivalisierenden Kommandos tar und cpio. pax verwendet standardmäßig das ebenfalls in POSIX definierte ustar-Dateiformat, die Kommandostruktur ähnelt jedoch eher cpio.
Das Programm ist beschrieben durch POSIX.1-2001 bzw. The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition.
Funktionsweise und Beispielaufrufe
pax verfügt über vier Grundfunktionen, welche über die Optionen -w („Write-Modus“, Erzeugen eines Archivs), -r („Read-Modus“, Extrahieren aus einem Archiv) und -r -w („Copy-Modus“, Kopieren von Verzeichnisbäumen) angegeben werden. Wird keine Option angegeben, verwendet pax den „List-Modus“ und zeigt den Archivinhalt an. pax arbeitet grundsätzlich wie andere Unix-Filter, d. h., es erwartet seine Argumente aus dem Eingabe-Datenstrom und schickt seine Ergebnisse an den Ausgabe-Datenstrom.
Erstellen einer Archivdatei des Verzeichnisses ./tmp:
find ./tmp -depth -print | pax -wd -f test.pax
Auspacken der Archivdatei test.pax im aktuellen Verzeichnis:
pax -r -f test.pax
Anzeigen der in einer Archivdatei enthaltenen Dateien und Verzeichnisse:
pax -f test.pax
Kopieren der Dateien und Verzeichnisse des aktuellen Verzeichnisses in das Verzeichnis /pfad/verzeichnis:
find . -depth -print | pax -r -w /pfad/verzeichnis
Dabei kann die Verwendung des Parameters -depth bei find (erzwingen, dass Verzeichnisinhalte vor den Verzeichnisnamen gelistet werden) zwar einerseits bewirken, dass die Zeitstempel von Verzeichnissen auch bei mangelhafter Qualität der pax-Implementierung übernommen werden, sie birgt jedoch andererseits die Gefahr, dass Dateien nicht mehr in read-only-Verzeichnisse kopiert werden können.
Siehe auch
Weblinks
- Dru Lavigne: Archiving with Pax, in: FreeBSD Basics, 22. August 2002 (englisch)
- Beschreibung von pax nach IEEE Std 1003.1, 2008 Edition Open Group (englisch)