GZIP(1) General Commands Manual GZIP(1)

gzip, gunzip, zcat - comprimă sau expandează fișiere

gzip [ -acdfhklLnNrtvV19 ] [-S suffx] [ nume ... ]
gunzip [ -acfhklLnNrtvV ] [-S sufix] [ nume ... ]
zcat [ -fhLV ] [ nume ... ]

Comanda gzip reduce dimensiunea fișierelor numite folosind codificarea Lempel-Ziv (LZ77). Ori de câte ori este posibil, fiecare fișier este înlocuit cu unul cu extensia .gz, păstrând în același timp aceleași moduri de proprietate, timpii de acces și de modificare; (extensia implicită este z pentru MSDOS, OS/2 FAT, Windows NT FAT și Atari). Dacă nu se specifică niciun fișier sau dacă un nume de fișier este „-”, intrarea standard este comprimată la ieșirea standard. Comanda gzip va încerca să comprime doar fișierele obișnuite. În special, aceasta va ignora legăturile simbolice.

În cazul în care numele fișierului comprimat este prea lung pentru sistemul de fișiere, gzip îl trunchiază. Comanda gzip încearcă să trunchieze numai părțile din numele de fișier mai lungi de 3 caractere; (o parte este delimitată prin puncte). Dacă numele este format doar din părți mici, sunt trunchiate cele mai lungi părți. De exemplu, dacă numele fișierelor sunt limitate la 14 caractere, gzip.msdos.exe este comprimat în gzi.msd.exe.gz. Numele nu sunt trunchiate pe sistemele care nu au o limită de lungime a numelor de fișiere.

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

Fișierele comprimate pot fi readuse la forma lor originală folosind gzip -d sau gunzip sau zcat. În cazul în care numele original salvat în fișierul comprimat nu este potrivit pentru sistemul de fișiere, se construiește un nume nou din cel original pentru a-l face valid.

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

În prezent, gunzip poate decomprima fișiere create de gzip, zip, compress, compress -H sau pack. Detectarea formatului de intrare este automată. Atunci când se utilizează primele două formate, gunzip verifică un CRC pe 32 de biți. Pentru pack și gunzip verifică lungimea necomprimată. Formatul standard compress nu a fost conceput pentru a permite verificări de consistență. Cu toate acestea, gunzip este uneori capabil să detecteze un fișier .Z necorespunzător. Dacă primiți o eroare la decomprimarea unui fișier .Z, nu presupuneți că fișierul .Z este corect, pur și simplu pentru că uncompress standard nu se plânge. Aceasta înseamnă, în general, că standardul uncompress nu-și verifică datele de intrare și generează în mod fericit o ieșire de gunoi. Formatul SCO compress -H (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 cu metoda „deflation”. Această caracteristică este destinată doar să ajute la conversia fișierelor tar.zip în formatul tar.gz. Pentru a extrage un fișier zip cu un singur membru, utilizați o comandă de tipul «gunzip <foo.zip» sau «gunzip -S .zip foo.zip». Pentru a extrage fișiere zip cu mai mulți membri, utilizați unzip în loc de gunzip.

Comanda zcat este identică cu «gunzip -c»; (pe unele sisteme, zcat poate fi instalat ca gzcat pentru a păstra legătura originală cu compress). zcat decomprimă fie o listă de fișiere din linia de comandă, fie intrarea sa standard și scrie datele decomprimate la ieșirea standard. zcat va decomprima fișierele care au numărul magic corect, indiferent dacă au sau nu sufixul .gz.

Comanda gzip utilizează algoritmul Lempel-Ziv folosit în zip și PKZIP. Gradul de comprimare obținut depinde de dimensiunea datelor de intrare și de distribuția subșirurilor comune. În mod obișnuit, un text precum codul sursă sau limba engleză este redus cu 60–70%. Comprimarea este, în general, mult mai bună decât cea obținută prin LZW (așa cum este utilizat în compress), codificarea Huffman (așa cum este utilizat în pack) sau codificarea Huffman adaptivă (compact).

Comprimarea este întotdeauna efectuată, chiar dacă fișierul comprimat este puțin mai mare decât originalul. În cel mai rău caz, expansiunea este de câțiva octeți pentru antetul fișierului gzip, plus 5 octeți pentru fiecare bloc de 32 Kio, sau un raport de expansiune de 0,015% pentru fișierele mari. Numărul real de blocuri de disc utilizate nu crește aproape niciodată.

gzip păstrează în mod normal modul și data și ora modificării unui fișier la comprimare sau decomprimare. Dacă aveți privilegiile corespunzătoare, păstrează, de asemenea, proprietarul și grupul fișierului.

Modul text Ascii: convertește capetele de linie utilizând convențiile configurației regionale. Această opțiune este acceptată numai pe unele sisteme non-Unix. Pentru MSDOS, CR LF este convertit în LF la comprimare, iar LF este convertit în CR LF la decomprimare.
Scrie ieșirea la ieșirea standard; păstrează fișierele originale neschimbate. În cazul în care există mai multe fișiere de intrare, ieșirea constă într-o secvență de membri comprimați independent. Pentru a obține o comprimare mai bună, concatenați toate fișierele de intrare înainte de a le comprima.
Decomprimare.
Forțează comprimarea sau decomprimarea chiar dacă fișierul are mai multe legături sau dacă fișierul corespunzător există deja sau dacă datele comprimate sunt citite sau scrise la un terminal. Dacă datele de intrare nu sunt într-un format recunoscut de gzip și dacă este dată și opțiunea „--stdout”, copiază datele de intrare fără modificări la ieșirea standard: lasă zcat să se comporte ca cat. Dacă nu se dă opțiunea -f și atunci când nu rulează în fundal, gzip solicită să se verifice dacă un fișier existent trebuie să fie suprascris.
Afișează un mesaj de ajutor și iese.
Păstrează (nu șterge) fișierele de intrare în timpul comprimării sau decomprimării.
Pentru fiecare fișier comprimat, listează următoarele câmpuri:


compressed size: dimensiunea fișierului comprimat
uncompressed size: dimensiunea fișierului necomprimat
ratio: raportul de comprimare (0,0% dacă este necunoscut)
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 comprimate .Z. 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”, se afișează, de asemenea, următoarele câmpuri:


method: metoda de comprimare
crc: CRC pe 32 de biți a datelor necomprimate
date & time: data și ora 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 opțiunea „--name”, numele necomprimat, data și ora sunt cele stocate în fișierul de comprimare, dacă este prezent.

Cu opțiunea „--verbose”, se afișează, de asemenea, totalurile dimensiunilor și raportul de comprimare pentru toate fișierele, cu excepția cazului în care unele dimensiuni sunt necunoscute. Cu opțiunea „--quiet”, nu se afișează liniile de titlu și de totaluri.

Afișează licența gzip și iese.
La comprimare, nu salvează în mod implicit numele original al fișierului și marcajul de timp; (numele original este întotdeauna salvat dacă numele a trebuit să fie trunchiat). La decomprimare, nu restaurează numele original al fișierului, dacă este prezent (elimină doar sufixul gzip din numele fișierului comprimat) și nu restaurează marca de timp originală, dacă este prezentă (copiați-o din fișierul comprimat). Această opțiune este cea implicită la decomprimare.
La comprimare, salvează întotdeauna numele original al fișierului și salvează partea de secunde din marca temporală a modificării originale dacă originalul este un fișier obișnuit și marca temporală este cel puțin 1 (1970-01-01 00:00:01 UTC) și este mai mică de 2**32 (2106-02-07 06:28:16 UTC, presupunând că nu se iau în considerare secundele bisecte); aceasta este valoarea implicită. La decomprimare, restaurează din numele fișierului salvat și marca de timp, dacă este prezentă. Această opțiune este utilă pe sistemele care au o limită de lungime a numelui de fișier sau atunci când marca de timp a fost pierdută după un transfer de fișier.
Suprimă toate avertismentele.
Parcurge structura directoarelor în mod recursiv. Dacă oricare dintre numele de fișiere specificate în linia de comandă sunt directoare, gzip va coborî în directorul respectiv și va comprima toate fișierele pe care le găsește acolo (sau le va decomprima în cazul lui gunzip ).
La comprimare, se va utiliza sufixul .suf în loc de .gz. Se poate da orice sufix care nu este gol, dar trebuie evitate alte sufixe decât .z și .gz pentru a evita confuziile atunci când fișierele sunt transferate către alte sisteme.

La decomprimare, adaugă .suf la începutul listei de sufixe care trebuie încercate, atunci când se obține un nume de fișier de ieșire dintr-un nume de fișier de intrare.

Utilizează ieșirea sincronă. Cu această opțiune, este mai puțin probabil ca gzip să piardă date în timpul unei căderi a sistemului, dar poate fi considerabil mai lentă.
Testează. Verifică integritatea fișierului comprimat, apoi iese.
Modul descriptiv. Afișează numele și procentul de reducere pentru fiecare fișier comprimat sau decomprimat.
Versiunea. Afișează numărul versiunii și opțiunile de compilare, apoi iese.
-# --fast --best
Reglează viteza de comprimare folosind cifra specificată #, unde -1 sau --fast indică cea mai rapidă metodă de comprimare (mai puțină comprimare) și -9 sau --best indică cea mai lentă metodă de comprimare (cea mai bună comprimare). Nivelul implicit de comprimare este -6 (adică înclinat spre o comprimare ridicată în detrimentul vitezei).
Atunci când sincronizați un fișier comprimat între două calculatoare, această opțiune permite ca rsync să transfere numai fișierele care au fost modificate în arhivă, în loc de întreaga arhivă. În mod normal, după ce se face o modificare la orice fișier din arhivă, algoritmul de comprimare poate genera o nouă versiune a arhivei care nu se potrivește cu versiunea anterioară a arhivei. În acest caz, rsync transferă întreaga versiune nouă a arhivei către calculatorul de la distanță. Cu această opțiune, rsync poate transfera doar fișierele modificate, precum și o cantitate mică de metadate necesare pentru a actualiza structura arhivei în zona care a fost modificată.

Mai multe fișiere comprimate pot fi concatenate. În acest caz, gunzip va extrage toți membrii deodată. De exemplu:


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

Apoi


gunzip -c foo

este echivalent cu


cat 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 continuare (dacă membrul deteriorat este eliminat). Cu toate acestea, puteți obține o comprimare mai bună dacă comprimați toți membrii deodată:


cat fișier1 fișier2 | gzip > foo.gz

comprimă mai bine decât


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

Dacă doriți să recomprimați fișierele concatenate pentru a obține o comprimare mai bună, executați:


gzip -cd vechi.gz | gzip > nou.gz

În cazul în care un fișier comprimat este format din mai mulți membri, dimensiunea necomprimată și CRC raportate 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 fișier.gz | wc -c

Dacă doriți să creați un singur fișier de arhivă cu mai mulți membri, astfel încât aceștia să poată fi extrași ulterior în mod independent, utilizați un program de arhivare, 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 la «tar», nu ca un înlocuitor.

Variabila de mediu învechită GZIP poate conține un set de opțiuni implicite pentru gzip. Aceste opțiuni sunt interpretate mai întâi și pot fi suprascrise de parametrii expliciți din linia de comandă. Deoarece acest lucru poate cauza probleme atunci când se utilizează scripturi, această caracteristică este acceptată numai pentru opțiunile care au o probabilitate rezonabilă de a nu cauza prea mult rău, iar gzip avertizează dacă este utilizată. Această caracteristică va fi eliminată într-o versiune viitoare a gzip.

Puteți utiliza în schimb un alias sau un script. De exemplu, dacă gzip se află în directorul /usr/bin, puteți adăuga $HOME/bin la PATH și puteți crea un script executabil $HOME/bin/gzip care să conțină următoarele:


#! /bin/sh
export PATH=/usr/bin
exec gzip -9 "$@"

znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1)

Formatul de fișier gzip este specificat în P. Deutsch, GZIP file format specification version 4.3, https://www.ietf.org/rfc/rfc1952.txt, Internet RFC 1952 (mai 1996). Formatul de comprimare zip este specificat în P. Deutsch, DEFLATE Compressed Data Format Specification version 1.3, https://www.ietf.org/rfc/rfc1951.txt, Internet RFC 1951 (mai 1996).

Starea de ieșire este în mod normal 0; dacă apare o eroare, starea de ieșire este 1. Dacă apare un avertisment, starea de ieșire este 2.

Au fost specificate opțiuni nevalide în linia de comandă.
Fișierul specificat la gunzip nu a fost comprimat.
Utilizați «zcat» pentru a recupera unele date. Fișierul comprimat a fost deteriorat. Datele de până la punctul de defecțiune pot fi recuperate utilizând


zcat fișier > recover (recuperare-fișier)

fișier a fost comprimat (folosind LZW) de un program care poate gestiona mai mulți biți decât codul de decomprimare de pe această mașină. Recomprimați fișierul cu «gzip», care comprimă mai bine și folosește mai puțină memorie.
Se presupune că fișierul este deja comprimat. Redenumiți fișierul și încercați din nou.
Răspundeți cu „y” dacă doriți ca fișierul de ieșire să fie înlocuit; cu „n” în caz contrar.
A fost detectată o încălcare SIGSEGV, ceea ce înseamnă, de obicei, că fișierul de intrare a fost corupt.
(relevant numai pentru -v și -l).
În cazul în care fișierul de intrare nu este un fișier sau un director obișnuit (de exemplu, o legătură simbolică, un soclu, un FIFO, un fișier de dispozitiv), acesta rămâne nealterat.
Fișierul de intrare are legături; acesta este lăsat neschimbat. A se vedea ln(1) pentru mai multe informații. Utilizați opțiunea -f pentru a forța comprimarea fișierelor cu legături multiple.

Atunci când se scriu date comprimate pe o bandă, este în general necesar să se completeze ieșirea cu zerouri până la o limită de bloc. Atunci când datele sunt citite și întregul bloc este transmis către gunzip pentru decomprimare, gunzip detectează că există un gunoi suplimentar după datele comprimate și emite un avertisment în mod implicit. Puteți utiliza opțiunea „--quiet pentru a suprima avertismentul.

În unele cazuri rare, opțiunea „--best” oferă o comprimare mai slabă decât nivelul de comprimare implicit (-6). La unele fișiere foarte redundante, compress comprimă mai bine decât gzip.

Raportați erorile la: bug-gzip@gnu.org
Pagina principală a GNU gzip: https://www.gnu.org/software/gzip/
Ajutor general pentru utilizarea software-ului GNU: https://www.gnu.org/gethelp/

Drepturi de autor © 1998–1999, 2001–2002, 2012, 2015–2023 Free Software Foundation, Inc.
Drepturi de autor © 1992, 1993 Jean-loup Gailly

Se acordă permisiunea de a face și de a distribui copii textuale (verbatim) ale acestui manual, cu condiția ca notificarea privind drepturile de autor și această notificare de permisiune să fie păstrate pe toate copiile.

Se acordă permisiunea de a copia și distribui versiunile modificate ale acestui manual în condițiile copierii textuale (verbatim), cu condiția ca întreaga lucrare derivată rezultată să fie distribuită în condițiile unei notificări de permisiune identice cu aceasta.

Se acordă permisiunea de a copia și distribui traduceri ale acestui manual într-o altă limbă, în condițiile de mai sus pentru versiunile modificate, cu excepția faptului că această notificare de permisiune poate fi menționată într-o traducere aprobată de Fundație.

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

local