Pax (Unix)
# 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:

Auspacken der Archivdatei test.pax im aktuellen Verzeichnis:

Anzeigen der in einer Archivdatei enthaltenen Dateien und Verzeichnisse:

Kopieren der Dateien und Verzeichnisse des aktuellen Verzeichnisses in das Verzeichnis /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.

