| 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.
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.
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.
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.
zcat fișier > recover (recuperare-fișier)
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 |