Pax (Unix)

pax ( akronym for portable a rchive e x change , lit. "portable archive exchange") er et arkivværktøj skabt af POSIX og defineret i POSIX.1-2001 [1] standarden . Opkaldskommandoen og dens struktur er en forening og forening af tar og cpio .

Funktioner

Tilstande

pax har fire hovedtilstande, som bestemmes af -r ("læse" - læsning) -w ("skrive" - ​​skrivning) omskifterkombinationen.

Følgende tabel opsummerer de vigtigste driftsformer:

Mulighed Mode Beskrivelse
liste udlæser indholdet af arkivet uden at ændre eller udtrække noget.
-r Læs læser og udtrækker indholdet af et arkiv
-w skrive opretter et arkiv eller supplerer det med filer
-rw "kopi" læser og kopierer filer og mappestruktur til den angivne mappe

Eksempler:
Vis indholdet af et arkiv:

pax < archive.tar

Udpak indholdet af arkivet til den aktuelle mappe:

pax -r <archive.tar

Opret et arkiv af den aktuelle mappe:
Når den bruges i cpio -stilen , kan find-kommandoen bruges til at liste de filer, der skal arkiveres:

finde. -dybde -tryk | pax -wd > archive.tar

Kopiering af det aktuelle bibliotek til et andet sted:
Målbiblioteket skal oprettes på forhånd.

finde. -dybde -tryk | pax -rwd target_dir

Opkaldskommando

pax kan bruges på samme måde som cpio eller tar . Syntaksen for cpio er at få en liste over filer fra standardinput ( stdin ), ved arkivering, eller et allerede eksisterende arkiv, når man viser indholdet eller udtrækker filer:

finde. -dybde -tryk | pax -wd > archive.tar

og

pax -r <archive.tar

henholdsvis.

Det er også muligt at kalde disse kommandoer på samme måde som tar :

pax -wf archive.tar .

og

pax -rf archive.tar

Og for klarhedens og fuldstændighedens skyld:
Liste filer fra et arkiv:

pax -f archive.tar

og "kopi"-tilstand:

pax -rw. arkiv_dir

Indstillingen -f giver dig mulighed for at angive, hvilket arkiv du skal arbejde med, i stedet for at skrive til stdout eller læse stdin . Brug af -d muligheden med find undgår at krydse pax mappe træer , da dette vil blive gjort i find

Kompression

De fleste pax-implementeringer giver en -z ( gzip ) og -j ( bzip2 ) mulighed for komprimering. Denne mulighed er dog ikke foreskrevet af standarden. Pax kan ikke udvide komprimerede arkiver.

Eksempel på udtrækning af et gzip-arkiv:

pax -rzf archive.tar.gz

På grund af muligheden for at bruge cpio- stil pax, er det muligt at bruge et andet komprimeringsprogram, såsom xz :

pax -w. | xz > archive.tar.xz

og vis indholdet af xz-arkivet:

xzcat archive.tar.xz | pax

Understøttede formater

Fra september 2009 understøtter versionerne af pax inkluderet i de fleste Linux- og BSD-distributioner (pax [2] ) følgende formater, aktiveret med -x- indstillingen :

Det er vigtigt, at selve pax-formatet ikke understøttes af den eksisterende version af pax. Nogle implementeringer, såsom Heirloom pax, understøtter perspektivformater, [3] inklusive selve pax-formatet.

Understøttelse af flere bind

pax understøtter muligheden for at oprette arkiver med flere bind . Når slutningen af ​​lydstyrken er nået, vises følgende meddelelse:

Opmærksomhed! pax skal ændre arkivvolumen. /dev/fd0 klar til volumen: 2 Indlæs det næste lagerelement (disk), hvis det kræves og sørg for at skrive er aktiveret. Indtast "y" for at fortsætte, "." for at afslutte pax, eller "s" for at skifte til en ny enhed. Hvis du ikke kan ændre lagerelementet (disken), skal du indtaste "s" Er enheden klar og tilsluttet? >

Ved gendannelse fra et arkiv med flere bind, anmoder pax om det næste lagringselement på samme måde, når slutningen af ​​lagringselementet nås, inden arkivets slutning nås.

Standardisering, adoption og popularisering

På trods af at den blev standardiseret i 2001 af IEEE, nyder pax fra 2010 relativt lille popularitet.

pax skal være til stede på alle Linux Standard Base- kompatible systemer siden version 3.0 (udgivet 6. juli 2005), [4] , men stadig få Linux-distributioner leverer det som standard. De fleste distributioner inkluderer dog pax som en separat pakke.

pax er også til stede i Windows NT , hvor det er begrænset til filarkiver (bånd er ikke understøttet). [5] Det blev derefter flyttet til Interix- undersystemet . Oprettelse og gendannelse af Win32 ACL'er understøttes ikke. [6]

Pakker behandlet af OS X - installationsprogrammet er ofte pakket i en Archive.pax.gz-fil, der kan læses med pax-værktøjet. [7]

Noter

  1. Open Group Base Specifikationer, udgave 6  - POSIX.1-2001 (IEEE Std 1003.1) Copyright © 2001-2004 IEEE og The Open Group
  2. mand pax
  3. Heirloom pax man page
  4. Udgivelsesbemærkninger til LSB 3.0 Arkiveret 17. juli 2011. bemærk at pax er tilføjet: LSB 3.0. Kommandoer og hjælpeprogrammer pax-krav, men LSB 2.1.0. Kommandoer og hjælpeprogrammer kræver ikke dette
  5. Eric Pearce. Windows NT i en nøddeskal: en hurtig reference på skrivebordet for  systemadministratorer . - O'Reilly Media , 1997. - S. 271. - ISBN 978-1-56592-251-8 .
  6. Systemadministration af sikkerhedskopier, Tar og Pax i Interix
  7. Udpakning af filer fra en pax.gz-pakke (downlink) . cocoabuilder.com. Hentet 15. august 2013. Arkiveret fra originalen 14. februar 2015. 

Links

Se også