gzip
gzip (acronyme de GNU zip) est un logiciel libre de compression qui a été créé à partir de 1991 pour remplacer le programme compress d'Unix.
Extensions | .gz , .gzip |
---|---|
Type MIME | application/gzip , application/x-gzip |
PUID | |
Signature | 1F 8B 08 (hexa) |
Développé par | |
Spécification | |
Site web |
(en) www.gzip.org |
Description
modifiergzip est basé sur l'algorithme deflate, qui est une combinaison des algorithmes LZ77 et Huffman. 'Deflate' a été développé en réponse à des problèmes de brevet logiciel couvrant LZW et autres algorithmes de compression, limitant ainsi les utilisations possibles de compress et autres programmes d'archivage populaires.
De manière à simplifier les développements de logiciels utilisant la compression, la bibliothèque zlib a été créée. Elle supporte le format de fichier gzip et l'algorithme de compression deflate. Cette bibliothèque est très largement utilisée, grâce à sa taille réduite, son efficacité et sa souplesse d'utilisation. gzip comme zlib ont été écrits par Jean-Loup Gailly et Mark Adler.
Le format de donnée compressée zlib, l'algorithme deflate et le format de fichier compressé gzip ont été standardisés avec les RFC 1950[2], RFC 1951[3] et RFC 1952[4].
L'extension usuelle des fichiers « gzippés » est « .gz »[5]. Les logiciels UNIX sont souvent distribués avec des fichiers terminés par .tar.gz ou .tgz, appelés tarballs. Ce sont des fichiers archivés avec tar et ensuite compressés avec gzip. Ils peuvent être décompressés avec gzip -d file.tar.gz
ou décompressés et désarchivés avec tar -xzvf file.tar.gz
(version Linux GNU de tar). Depuis la fin des années 1990, de plus en plus de logiciels sont distribués à la place en archives .tar.bz2 parce que bzip2 permet de meilleurs taux de compression que gzip, au prix de temps de compression et de décompression plus longs.
Exemples
modifierCompression
modifier- Pour gzipper avec un taux de compression maximum, utiliser l'argument -9 :
$ gzip -9 fichier.txt
La commande remplacera alors fichier.txt par fichier.txt.gz de taille inférieure.
- Pour gzipper plusieurs fichiers en une seule ligne, recourir à find. Par exemple pour compresser tous les fichiers .txt, du répertoire courant, de plus de 24 h :
$ find . -name "*.txt" -mtime 1 -type f -exec gzip {} \;
- Remarque : pour gzipper un dossier ou plusieurs fichiers dans un seul, il faut passer par tar.
Décompression
modifierPour reconvertir un fichier .gz dans sa version initiale, le décompresser avec gunzip :
$ gunzip fichier.txt.gz
Lecture
modifierUn fichier .gz peut se lire avec les commandes zcat zmore ou zless qui offrent les mêmes interfaces de lecture/recherche que leurs équivalents cat, more ou less
$ zcat fichier.txt.gz
$ zmore fichier.txt.gz
$ zless fichier.txt.gz
Références
modifier- Jim Meyering, « gzip-1.13 released [stable] », (consulté le )
- (en) Request for comments no 1950
- (en) Request for comments no 1951
- (en) Request for comments no 1952
- « GZ Documentation », (consulté le )
Voir aussi
modifierArticles connexes
modifier- Compression de données
- Liste de logiciels de compression de données
- Jean-Loup Gailly
- Mark Adler
- zlib
Liens externes
modifier- (en) Site officiel
- Ancien site officiel
- (en) pigz - Parallel gzip (et (en) version Windows)
- Comparatif des performances de différentes méthodes de compression de fichiers
- Page man de gzip