gzip

GZIP
Caractéristiques
Extensions
.gz, .gzipVoir et modifier les données sur Wikidata
Type MIME
application/gzip, application/x-gzipVoir et modifier les données sur Wikidata
PUID
Signature
1F 8B 08 (hexa)Voir et modifier les données sur Wikidata
Développé par
Spécification
Site web

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.

Description

[modifier | modifier le code]

gzip 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].

Mécanisme d'archivage avec tar et gzip.

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.

Compression

[modifier | modifier le code]
  • 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

[modifier | modifier le code]

Pour reconvertir un fichier .gz dans sa version initiale, le décompresser avec gunzip :

$ gunzip fichier.txt.gz 

Un 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 | modifier le code]
  1. Jim Meyering, « gzip-1.13 released [stable] », (consulté le )
  2. (en) Request for comments no 1950
  3. (en) Request for comments no 1951
  4. (en) Request for comments no 1952
  5. « GZ Documentation », (consulté le )

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]