# Pax (Unix)

pax és una aplicació per arxivar fitxers creada per POSIX i definida per l'estàndard POSIX.1-2001. En lloc de provar d'aglomerar les diferents alternatives incompatibles entre tar i cpio en diferents implementacions d'UNIX, l'IEEE va dissenyar una nova aplicació. El nom "pax" és l'acrònim portable archive exchange, "pax" significa "pau" en llatí, per tant el nom vol dir que aquesta aplicació posa pau entre els diferents seguidors de tar i cpio.

## Característiques
### Modes

pax té quatre modes de funcionament, que s'invoquen amb la combinació de "-r" (read, llegir) i "-w" (write, escriure). Aquesta taula resumeix els modes de funcionament
| Opció | Mode | Descripció |
| (res) | "llistar" | mostra el contingut de l'arxiu sense modificar o extreure'n res. |
| -r | "llegir (read)" | llegeix i extreu el contingut de l'arxiu |
| -w | "escriure (write)" | crea l'arxiu o afegeix fitxers a l'arxiu |
| -rw | "copiar" | llegeix i copia arxius i l'arbre de directoris al directori especificar |
Exemples: Lista el contingut d'un arxiu:
Extreu el contingut d'un arxiu al directori actual:
Crea un arxiu amb el contingut del directori actual:
Copia el l'arbre del directori actual a un altre lloc: El directori destí ha d'existir!

### Crida de la comanda

Es pot usar pax de manera similar a cpio o tar. La sitaxi de cpio llegeix una llista de fitxer de l'entrada estàndard (stdin) quan es vol arxivar o llegeix un fitxer ja existent amb les comandes d'extreure o llistar el contingut:
i
respectivament.
Es pot cridar les mateixes comandes a l'estil tar-:
i
I per complementarietat: Llista el contingut d'un arxiu:
i el mode "copia":
L'opció -f especifica l'arxiu a usar en lloc d'escriure la sortida a stdio o llegir de stdin.

### Compressió

La majoria d'implementacions de pax fan servir les opcions -z (gzip) i -j (bzip2) per la compressió, tot i que aquesta funció no està especificada per POSIX. pax no pot afegir fitxers a un arxiu comprimit. Exemple d'extreure un arxiu creat amb gzip:
Donada la possibilitat d'usar pax amb l'estil de cpio, és possible usar qualsevol programa de compressió. Com a exemple, l'ús de xz:
i llistar el contingut d'un arxiu comprimit amb xz:

### Formats suportats

A Setembre 2009, la versió de pax inclosa en la majoria de distribucions de GNU/Linux suporta els següents formats (seleccionables amb l'opció x:
* cpio
* bcpio
* sv4cpio
* sv4crc
* tar
* ustar (defecte)

### Múltiples volums

pax suporta guardar l'arxiu en múltiples volums. Qaan s'arriba al final d'un voluem, apareix el següent missatge:
Quan s'extreuen fitxer d'un arxiu en múltiples volumns, pam demana pel següent mitja d'una manera similar.

## Estandardització, rebuda i popularitat

Encara que va ser estandarditzat al 2001 per l'IEEE, aquest programa no té gaire adaptació.
És requisit que pax estigui disponible a tots els sistemes que vulguin complir la versió 3.0 de Linux Standard Base (6 de juliol de 2005), però de moment poques Distribucions linux instal·len aquesta eina per defecte. Tanmateix, si que està disponible com un paquet instal·lable per separat.
pax està disponible al Windows_NT, on està limitat a treballar amb fitxers (no soporta cintes). Més endavant va ser mogut al subsistema Interix. No soporta l'arxiu o l'extracció de ACLs de Win32.
Els paquets que fa servir Installer (OS X) sovint contenten un arxiu Archive.pax.gz que pot ser llegit usant pax.

## Referències

* ↑ The Open Group Base Specifications Issue 6 - POSIX.1-2001 (IEEE Std 1003.1) Copyright © 2001-2004 The IEEE and The Open Group
* ↑ Release notes for LSB 3.0 Arxivat 2011-07-17 a Wayback Machine. note that pax was added: LSB 3.0. Commands and Utilities requires pax, but LSB 2.1.0. Commands and Utilities does not require it
* ↑ Eric Pearce. Windows NT in a nutshell: a desktop quick reference for system administrators. O'Reilly Media, Inc., 1997, p. 271. ISBN 978-1-56592-251-8.
* ↑ http://support.microsoft.com/kb/246322
* ↑ «Extracting files from a pax.gz package». cocoabuilder.com. Arxivat de l'original el 14 de febrer 2015. [Consulta: 15 agost 2013].
Viccionari