Zcat - comandă Linux - comandă Unix

Nume

gzip, gunzip, zcat - comprimați sau extindeți fișierele

Rezumat

gzip [ -acdfhlLnNrtvV19 ] [ -S sufix ] [ nume ... ]
gunzip [ -acfhlLnNrtvV ] [ -S sufix ] [ nume ... ]
zcat [ -fhLV ] [ nume ... ]

Descriere

Gzip reduce dimensiunea fișierelor numite utilizând codarea Lempel-Ziv (LZ77). Ori de câte ori este posibil, fiecare fișier este înlocuit cu unul cu extensia .gz , menținând aceleași moduri de proprietate, timpi de acces și modificare. (Extensia implicită este -gz pentru VMS, z pentru MSDOS, OS / 2 FAT, Windows NT FAT și Atari.) Dacă nu sunt specificate fișiere sau dacă un nume de fișier este "-", intrarea standard este comprimată la standard de ieșire. Gzip va încerca doar să comprime fișierele obișnuite. În special, va ignora legăturile simbolice.

Dacă numele fișierului comprimat este prea lung pentru sistemul său de fișiere, gzip îl trunchiază. Gzip încearcă să reducă numai părțile din numele fișierului cu mai mult de 3 caractere. (O parte este delimitată de puncte). Dacă numele este format numai din părți mici, cele mai lungi părți sunt trunchiate. De exemplu, dacă numele fișierelor sunt limitate la 14 caractere, gzip.msdos.exe este comprimat la gzi.msd.exe.gz. Numele nu sunt trunchiate pe sisteme care nu au o limită a lungimii numelui fișierului.

În mod implicit, gzip păstrează numele fișierului original și marca de timp în fișierul comprimat. Acestea sunt folosite atunci când decomprimarea fișierului cu opțiunea -N . Acest lucru este util atunci când numele fișierului comprimat a fost trunchiat sau când ștampila de timp nu a fost păstrată după un transfer de fișiere.

Fisierele comprimate pot fi restaurate in forma lor originala folosind gzip -d sau gunzip sau zcat. Dacă numele original salvat în fișierul comprimat nu este potrivit pentru sistemul său de fișiere, se construiește un nou nume de la cel original, pentru a fi legal.

gunzip ia o listă de fișiere pe linia de comandă și înlocuiește fiecare fișier al cărui nume se termină cu .gz, -gz, .z, -z, _z sau .Z și care începe cu numărul magic magic cu un fișier necomprimat fără extensia originală . gunzip recunoaște, de asemenea, extensiile speciale .tgz și .taz ca contorizări pentru .tar.gz și respectiv .tar.Z . La comprimare, gzip folosește extensia .tgz, dacă este necesar, în loc să trunchieze un fișier cu extensia .tar .

gunzip poate decomprima în prezent fișierele create de gzip, zip, compress, compress -H sau pack. Detecția formatului de intrare este automată. Când folosiți primele două formate, gunzip verifică un CRC de 32 biți. Pentru pachet, gunzip verifică lungimea necomprimată. Formatul standard de compresie nu a fost conceput pentru a permite verificări de consistență. Cu toate acestea, gunzip este uneori capabil să detecteze un fișier rău .Z. Dacă primiți o eroare atunci când decomprimați un fișier .Z , nu presupuneți că fișierul .Z este corect deoarece pur și simplu decomprima standard nu se plânge. Acest lucru înseamnă, în general, că decomprimarea standard nu verifică intrarea și generează fericirea de ieșire a gunoiului. Formatul de compresie SCO (metoda de comprimare lzh) nu include un CRC, dar permite și unele verificări de consistență.

Fișierele create de zip pot fi decomprimate de gzip numai dacă au un singur membru comprimat prin metoda "deflație". Această caracteristică este destinată numai conversiei fișierelor tar.zip în format tar.gz. Pentru a extrage fișiere zip cu mai mulți membri, utilizați unzip în loc de gunzip.

zcat este identic cu gunzip -c. (La unele sisteme, zcat poate fi instalat ca gzcat pentru a păstra legătura originală pentru a comprima.) Zcat descompune fie o listă de fișiere din linia de comandă sau intrarea sa standard și scrie datele necomprimate la ieșirea standard. zcat va decomprima fișierele care au numărul magic corect dacă au sau nu un sufix .gz .

Gzip utilizează algoritmul Lempel-Ziv utilizat în zip și PKZIP. Cantitatea de compresie obținută depinde de mărimea intrării și de distribuția substringurilor comune. De obicei, textul, cum ar fi codul sursă sau limba engleză, este redus cu 60-70%. Comprimarea este, în general, mult mai bună decât cea obținută de LZW (așa cum este folosit în compresie ), codificarea Huffman (așa cum este folosită în pachet ) sau codificarea adaptivă Huffman ( compact ).

Compresia este întotdeauna efectuată, chiar dacă fișierul comprimat este puțin mai mare decât originalul. Extensia celui mai grav caz este de câteva octeți pentru antetul fișierului gzip, plus 5 octeți la fiecare bloc de 32K sau un raport de expansiune de 0,015% pentru fișierele mari. Rețineți că numărul real de blocuri de discuri utilizate nu crește niciodată. gzip păstrează modul, proprietatea și marcajele de timp ale fișierelor în timpul comprimării sau decomprimării.

OPȚIUNI

-a-ascii

Modul Ascii text: convertiți sfârșitul liniilor utilizând convențiile locale. Această opțiune este acceptată numai pentru anumite sisteme non-Unix. Pentru MSDOS, CR LF este convertit în LF când se comprimă, iar LF este convertit la CR LF atunci când decomprimarea.

-c -stdout -to-stdout

Scrie ieșirea la ieșirea standard; păstrează fișierele originale neschimbate. Dacă există mai multe fișiere de intrare, ieșirea constă dintr-o secvență de elemente comprimate independent. Pentru a obține o mai bună compresie, concatenați toate fișierele de intrare înainte de a le comprima.

-d --decomprima --comprimare

Decomprima.

-f -force

Forțarea comprimării sau a decompresiei chiar dacă fișierul are mai multe linkuri sau fișierul corespunzător există deja sau dacă datele comprimate sunt citite sau scrise într-un terminal. Dacă datele de intrare nu sunt într-un format recunoscut de gzip și dacă opțiunea -stdout este de asemenea dată, copiați datele de intrare fără să le schimbați la extraopțiunea standard: permiteți zcat - ului să se comporte ca pisică. Dacă -f nu este dat și când nu rulează în fundal, gzip solicită să se verifice dacă un fișier existent ar trebui suprascris.

-h - ajuta

Afișați un ecran de ajutor și renunțați.

-l - lista

Pentru fiecare fișier comprimat, listați următoarele câmpuri:


dimensiune comprimată: dimensiunea fișierului comprimat
dimensiune necomprimată: mărimea fișierului necomprimat
raportul: raportul de compresie (0,0% dacă nu este cunoscut)
uncompressed_name: numele fișierului necomprimat

Dimensiunea necomprimată este dată ca -1 pentru fișierele care nu sunt în format gzip, cum ar fi fișierele .Z comprimate. Pentru a obține dimensiunea necomprimată pentru un astfel de fișier, puteți utiliza:


zcat fișier.Z | wc -c

În combinație cu opțiunea --verbose, sunt afișate și următoarele câmpuri:


metoda: metoda de compresie
crc: CRC pe 32 de biți a datelor necomprimate
data și ora: ștampila de timp pentru fișierul necomprimat

Metodele de comprimare acceptate în prezent sunt deflate, compress, lzh (SCO compress -H) și pack. CRC este dat ca ffffffff pentru un fișier care nu este în format gzip.

Cu -name, numele, data și ora necomprimate sunt cele stocate în fișierul de comprimare, dacă este prezent.

Cu --verbose, totalul mărimii și raportul de compresie pentru toate fișierele sunt de asemenea afișate, cu excepția cazului în care unele dimensiuni sunt necunoscute. Cu --quiet, liniile titlurilor și totalurilor nu sunt afișate.

- Licență

Afișați licența gzip și părăsiți-o.

-n -no-nume

Când comprimați, nu salvați numele de fișier original și ștampila de timp în mod implicit. (Numele original este întotdeauna salvat dacă numele a trebuit să fie trunchiat.) Când decomprimați, nu restaurați numele original al fișierului dacă este prezent (eliminați numai sufixul gzip din numele fișierului comprimat) și nu restaurați ștampila de timp originală dacă este prezentă (copiați-l din fișierul comprimat). Această opțiune este implicită atunci când decomprimați.

-N-numele

Când comprimați, salvați întotdeauna numele original al fișierului și ștampila de timp; aceasta este setarea implicită. Când decomprimați, restabiliți numele original al fișierului și ștampila de timp, dacă există. Această opțiune este utilă pentru sistemele care au o limită a lungimii numelui fișierului sau când ștampila de timp a fost pierdută după un transfer de fișiere.

-Q - calm

Suprimați toate avertismentele.

-r - recursiv

Călătoriți recursiv pe structura directorului. Dacă oricare dintre numele de fișiere specificate pe linia de comandă sunt directoare, gzip va coborî în director și va comprima toate fișierele pe care le găsește acolo (sau le va decomprima în cazul gunzip ).

-S .suf --sufix .suf

Utilizați sufixul .suf în loc de .gz. Orice sufix poate fi dat, dar sufixe altele decât .z și .gz ar trebui evitate pentru a evita confuzia atunci când fișierele sunt transferate în alte sisteme. Un sufix nul forțează pistolul pentru a încerca decompresia pe toate fișierele date indiferent de sufix, ca în:


gunzip -S "" * (*. * pentru MSDOS)

Versiunile anterioare ale gzip au folosit sufixul .z. Aceasta a fost modificată pentru a evita un conflict cu pachetul (1).

-t - încercare

Test. Verificați integritatea fișierului comprimat.

-v - verbose

Detaliat. Afișați numele și procentajul de reducere pentru fiecare fișier comprimat sau decomprimat.

-V --versiune

Versiune. Afișați numărul versiunii și opțiunile de compilare, apoi renunțați.

- # - rapid - cel mai bun

Reglați viteza de comprimare utilizând cifra specificată # , unde -1 sau -fast indică cea mai rapidă metodă de comprimare (mai puțină compresie) și -9 sau -best indică cea mai lentă metodă de compresie (cea mai bună compresie). Nivelul implicit de comprimare este -6 (adică, înclinat spre compresie ridicată în detrimentul vitezei).

Utilizare avansată

Fișierele comprimate multiple pot fi concatenate. În acest caz, pistolul va extrage toți membrii dintr-o dată. De exemplu:


gzip -c file1> foo.gz
gzip -c file2 >> foo.gz

Apoi


gunzip -c foo

este echivalent cu


pisă fișier1 fișier2

În cazul în care un membru al unui fișier .gz este deteriorat, ceilalți membri pot fi recuperați (în cazul în care membrul deteriorat este eliminat). Cu toate acestea, puteți obține o comprimare mai bună prin comprimarea tuturor membrilor odată:


pisică fișier1 fișier2 | gzip> foo.gz

compresses mai bine decât


gzip -c fișier1 fișier2> foo.gz

Dacă doriți să recomprimați fișiere concatenate pentru a obține o compresie mai bună, faceți:


gzip -cd old.gz | gzip> new.gz

Dacă un fișier comprimat este format din mai mulți membri, dimensiunea necomprimată și CRC raportată de opțiunea - list se aplică numai ultimului membru. Dacă aveți nevoie de dimensiunea necomprimată pentru toți membrii, puteți utiliza:


gzip -cd file.gz | wc -c

Dacă doriți să creați un singur fișier de arhivă cu mai mulți membri, pentru ca membrii să poată fi extrași ulterior în mod independent, utilizați un arhivator, cum ar fi tar sau zip. GNU tar acceptă opțiunea -z pentru a invoca gzip în mod transparent. gzip este conceput ca o completare a gudronului , nu ca înlocuitor.

VEZI SI

comprese (1)

Formatul de fișier gzip este specificat în P. Deutsch, specificația formatului de fișier GZIP versiunea 4.3, , Internet RFC 1952 (mai 1996). Formatul de deflație a zipului este specificat în P. Deutsch, DEFLATE Comprimat Format Specificații Format versiunea 1.3, , Internet RFC 1951 (mai 1996).

Important: Utilizați comanda om ( % man ) pentru a vedea cum se utilizează o comandă pe computerul dvs. particular.