gzip

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Gzip
software
Siglă
Exemplu de captură de ecran
Tip Comprimarea datelor
Dezvoltator Proiect GNU
Data primei versiuni 1992
Ultima versiune 1.10 (30 decembrie 2018)
Sistem de operare Unix-like
Limba C.
Licență GPL 3
( licență gratuită )
Site-ul web www.gnu.org/software/gzip/
Gzip
Extensie .gz
Tip MIME application/x-gzip
Dezvoltat de Jean-Loup Gailly , Mark Adler
Ultima versiune 1.10 (30 decembrie 2018)
Tip Comprimarea datelor
Formatul deschis ? Da
Site-ul web www.gzip.org

gzip este un software gratuit de compresie a datelor . Numele său este contracția zip GNU . A fost inițial creat de Jean-Loup Gailly și Mark Adler . Versiunea 0.1 a fost lansată pe 31 octombrie 1992 . Versiunea 1.0 a văzut lumina în februarie 1993 .

Descriere

În mod normal, fiecare arhivă va fi înlocuită cu una cu extensia .gz, păstrând aceleași proprietăți, date de acces și modificare (extensia implicită este gz pentru Linux sau OpenVMS , z pentru MS-DOS , OS / 2 FAT, Windows NT FAT și Atari ). Dacă numele fișierului comprimat este prea lung, acesta va fi trunchiat.

Dacă nu este specificat niciun fișier sau dacă un nume de fișier este „-”, intrarea standard este comprimată la ieșirea standard. Gzip va încerca să comprime numai fișierele obișnuite. În special, va ignora legăturile simbolice.

Dacă numele fișierului comprimat este prea lung pentru sistemul de fișiere , gzip îl va trunchia. Gzip încearcă să trunchieze doar părți din numele fișierului mai lungi de 3 caractere (o parte este delimitată de puncte). Dacă numele este format doar din părți mici, cele mai lungi sunt trunchiate. De exemplu, dacă numele fișierelor sunt limitate la 14 caractere, gzip.msdos.exe va fi comprimat în gzi.msd.exe.gz. Numele nu sunt trunchiate pe sistemele care nu au nicio limită pe lungimea numelui fișierului.

În mod implicit, gzip păstrează numele fișierului original și marca de timp (data și ora creării) fișierului î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 când datele nu au fost păstrate după un transfer de fișiere.

Fișierele comprimate pot fi readuse la forma lor originală folosind gzip -d sau gunzip sau zcat. Dacă numele original salvat în fișierul comprimat nu este potrivit pentru acest sistem de fișiere, un nume nou va fi construit din cel original pentru a-l face legal.

gunzip acceptă o listă de fișiere pe linia de comandă și înlocuiește orice fișier al cărui nume se termină cu .gz, -gz, .z, -z, _z sau .Z și care începe cu numărul magic corect cu un fișier dezarhivat fără originalul extensie. gunzip recunoaște, de asemenea, extensiile speciale .tgz și .taz ca abrevieri 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 prin gzip, ZIP , comprima, comprima -H sau împacheta. Detectarea formatului de intrare este automată. Când utilizați primele două formate, gunzip verifică un CRC pe 32 de biți. Pentru pachet, gunzip verifică lungimea fișierului dezarhivat. Formatul de compresie standard nu a fost conceput pentru a permite verificarea consistenței. Cu toate acestea, gunzip este uneori capabil să detecteze un fișier .Z rău. Dacă primiți o eroare când dezarhivați un fișier .Z, nu presupuneți că fișierul este corect doar pentru că standard Uncompress nu detectează eroarea. Acest lucru înseamnă, în general, doar că standardul Uncompress nu își verifică intrarea și generează în liniște nedorite la ieșire. Formatul SCO comprimat -H (metoda de compresie lzh) nu include un CRC, dar permite totuși unele verificări de consistență.

Fișierele create prin zip pot fi decomprimate de gzip numai dacă conțin un singur fișier comprimat cu metoda „deflație”. Această posibilitate este menită doar să ajute la convertirea fișierelor tar.zip în format tar.gz. Pentru a dezarhiva fișierele zip cu mai mulți membri utilizați dezarhivare în loc de arhivare.

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

Gzip folosește algoritmul Lempel-Ziv utilizat în zip și PKZIP . Cantitatea de compresie obținută depinde de mărimea intrării și de distribuția sub-șirurilor comune. De obicei, textele precum sursa sau codurile englezești sunt reduse cu 60-70%. Compresia este, în general, mult mai bună decât cea care poate fi obținută de la LZW (utilizată în comprimare), codificarea Huffman (utilizată în pachet) sau codificarea adaptativă Huffman (compactă).

Comprimarea se face întotdeauna, chiar dacă fișierul comprimat este puțin mai mare decât fișierul original. Cel mai rău caz de extindere este de câțiva biți pentru antetul fișierului gzip, plus 5 octeți pe bloc 32K sau un raport de extindere de 0,015% pentru fișierele mai mari. Rețineți că numărul de blocuri de disc utilizate efectiv nu este niciodată incrementat. gzip păstrează modul, proprietățile și datele fișierelor la comprimarea sau decomprimarea acestora.

Tipul fisierului

Gzip se bazează pe algoritmul Deflate care combină LZ77 și codarea Huffman . DEFLATE a fost conceput ca un înlocuitor pentru algoritmul LZW și alți algoritmi de compresie protejați prin brevet, care la acea vreme limitau utilizabilitatea compreselor și a altor programe de arhivare bine cunoscute.

Termenul gzip se referă adesea la formatul de fișier cu același nume, care este compus din:

  • un antet de 10 octeți care conține un număr magic , o versiune a programului și un timestamp ;
  • anteturi suplimentare opționale, cum ar fi numele de fișier original;
  • un corp central, care conține un set de date comprimate;
  • Ultimii 8 octeți care conțin o sumă de control CRC-32 a datelor și lungimea lor originală.

Deși acest format de fișier vă permite să concatenați mai multe fluxuri de date primite (care sunt decomprimate și concatenate ca un singur flux), gzip este de obicei folosit pentru a comprima un singur fișier. Arhivele comprimate sunt de obicei create prin împachetarea unei colecții de fișiere folosind un program de arhivare precum TAR și apoi comprimarea arhivei rezultate. Fișierul .tar.gz sau .tgz este denumit de obicei un tarball comprimat .

gzip nu trebuie confundat cu formatul de fișier ZIP , care folosește și algoritmul DEFLATE. Formatul ZIP poate conține colecții de fișiere fără a fi nevoie să recurgeți la un program de arhivare extern, dar rezultatul este mai puțin compact decât cel obținut folosind gzip împreună cu un program de arhivare precum tar, deoarece fișierele sunt comprimate individual și, prin urmare, nu puteți lua avantajul redundanțelor existente între diferite fișiere ( compresie solidă ).

zlib este o bibliotecă software care oferă o abstracție a algoritmului DEFLATE și care include în API - ul său atât suport pentru formatul gzip , cât și caracteristici simple de gestionare a fluxului de date comprimate. Formatul fluxului zlib, DEFLATE și formatul fișierului gzip au fost standardizate ca RFC 1950 , RFC 1951 și respectiv RFC 1952 .

Deoarece antetul fișierului în format gzip conține un timestamp , trebuie să utilizați programe precum zcmp sau zdiff pentru a determina dacă două fișiere comprimate cu gzip conțin în formă comprimată aceleași date.

Alte utilizări

Protocolul HTTP / 1.1 permite clienților să solicite în mod arbitrar conținut comprimat de la server. Standardul oferă două metode de compresie: „gzip” (conținutul inclus în fluxul gzip) și „deflate” (conținutul într-un format brut, fără antet). Ambele sunt acceptate de multe biblioteci client și de aproape toate browserele moderne.

De la sfârșitul anilor 1990, bzip2 , un utilitar de compresie a fișierelor bazat pe algoritmul de sortare a blocurilor , a câștigat o oarecare popularitate ca înlocuitor pentru gzip. Produce fișiere considerabil mai mici (în special pentru coduri sursă și alte texte structurate), dar cu un consum mai mare de memorie și timp de calcul (chiar și de până la 4 ori mai mare). Comprimat-Bzip2 tarballs sunt numite de obicei .tar.bz2.

AdvanceCOMP are o implementare DEFLATE care produce fișiere compatibile gzip cu o compresie mai bună decât gzip în sine.

Programul corespunzător pentru despachetarea fișierelor gzipped este gunzip .

Elemente conexe

Alte proiecte

linkuri externe

Software gratuit Free Software Portal : accesați intrările Wikipedia care se ocupă de software gratuit