GZIP(1) | General Commands Manual | GZIP(1) |
gzip, gunzip, zcat - Compresser ou décompresser des fichiers
gzip [ -acdfhklLnNrtvV19 ]
[-S suffixe] [ nom ... ]
gunzip [ -acfhklLnNrtvV ] [-S suffixe] [ nom
... ]
zcat [ -fhLV ] [ nom ... ]
La commande gzip réduit la taille des fichiers nommés en utilisant le codage Lempel-Ziv (LZ77). Quand c'est possible, chaque fichier est remplacé par un autre fichier portant l'extension .gz, en gardant les mêmes modes de permissions, et les mêmes dates de dernier accès et de modification. (L'extension par défaut est z pour MSDOS, FAT OS/2, FAT Windows NT et Atari.) Si aucun fichier n'est spécifié, ou si un nom de fichier est « - », l'entrée standard est compressée sur la sortie standard. La commande gzip n'essaiera de compresser que les fichiers normaux. En particulier, il ignorera les liens symboliques.
Si le nom du fichier compressé est trop long pour son système de fichiers, gzip le tronque. La commande gzip essaie de ne tronquer que les parties du nom du fichier plus longues que trois caractères. (Une partie est délimitée par des points.) Si le nom n'est constitué que de petites parties, les plus longues d'entre elles sont tronquées. Par exemple, si les noms de fichiers sont limités à 14 caractères, gzip.msdos.exe sera compressé en gzi.msd.exe.gz. Les noms ne sont pas tronqués sur les systèmes qui ne comportent pas de limites sur la longueur des noms de fichier.
Par défaut, gzip conserve le nom du fichier original et son horodatage dans le fichier compressé. Ceux-ci sont utilisés durant la décompression du fichier avec l'option -N. C'est utile quand le nom du fichier compressé a été tronqué ou lorsque l'horodatage n'a pas été préservé après un transfert de fichier.
Les fichiers compressés peuvent être restaurés dans leur forme originale en utilisant gzip -d, gunzip ou zcat. Si le nom original conservé dans le fichier compressé ne convient pas à son système de fichiers, un nouveau nom est construit à partir de l'original pour le rendre conforme.
gunzip reçoit une liste de fichiers sur la ligne de commandes et remplace chaque fichier dont le nom se termine par .gz, -gz, .z, -z, _z ou .Z, et qui commence par le nombre magique correct, par un fichier décompressé sans l'extension originale. gunzip reconnaît également les extensions spéciales .tgz et .taz comme des raccourcis pour .tar.gz et .tar.Z respectivement. Lors de la compression, gzip utilise l'extension .tgz si nécessaire au lieu de tronquer un fichier possédant une extension .tar.
gunzip peut actuellement décompresser les fichiers créés avec gzip, zip, compress, compress -H ou pack. La détection du format d'entrée est automatique. Quand il utilise les deux premiers formats, gunzip vérifie un CRC 32 bits. Pour pack, gunzip, il vérifie la longueur du fichier décompressé. Le format compress standard n'a pas été prévu pour permettre des contrôles de cohérence. Néanmoins, gunzip est quelquefois capable de détecter un fichier .Z défectueux. Si vous obtenez une erreur lors de la décompression d'un fichier .Z, ne supposez pas que le fichier .Z est correct uniquement parce que l'uncompress standard ne se plaint pas. Cela signifie en général que l'uncompress standard ne vérifie pas son entrée, et génère béatement une sortie « dégradée ». Le format -H du compress SCO (méthode de compression LZH) n'inclut pas de CRC mais permet tout de même quelques tests de cohérence.
Les fichiers créés par zip ne peuvent être décompressés par gzip que s'ils n'ont qu'un seul membre compressé avec la méthode de « dégonflement » (deflation). Cette fonctionnalité n'est prévue que pour faciliter la conversion de fichiers .tar.zip vers le format .tar.gz. Pour extraire un fichier zip avec un seul membre, utilisez une commande telle que gunzip <toto.zip ou gunzip -S .zip toto.zip. Pour extraire un fichier zip contenant plusieurs membres, utilisez unzip au lieu de gunzip.
La commande zcat est identique à gunzip -c. (Sur certains systèmes, zcat peut être installé en tant que gzcat pour préserver le lien original vers compress.) zcat décompresse soit une liste de fichiers obtenue à partir de la ligne de commandes, soit son entrée standard, et écrit les données décompressées sur la sortie standard. zcat décompressera les fichiers ayant le nombre magique correct qu'ils possèdent le suffixe .gz ou non.
La commande gzip utilise l'algorithme de Lempel-Ziv utilisé par zip et PKZIP. Le pourcentage de compression obtenu dépend de la taille de l'entrée, et de la distribution des sous-chaînes communes de caractères. Habituellement, des fichiers texte de type code source ou anglais seront compressés à hauteur de 60-70 %. La compression est en général nettement meilleure que celle obtenue par LZW (utilisé par compress), le codage de Huffman (utilisé dans pack), ou le codage de Huffman adaptatif (compact).
La compression est toujours effectuée, même si le fichier compressé est légèrement plus grand que l'original. L'augmentation dans le pire des cas est de quelques octets pour l'en-tête du fichier gzip, plus 5 octets tous les blocs de 32 Ko, ou une augmentation de 0,015 % pour les grands fichiers. Le nombre réel de blocs de disque utilisés n'augmente presque jamais.
gzip préserve normalement le mode et l'horodatage de modification du fichier qu'il compresse ou décompresse. Si vous bénéficiez des priviligèes appropriés, il préserve également le propriétaire et le groupe du fichier.
compressed size : taille du fichier compressé
uncompressed size : taille du fichier non compressé
ratio : taux de compression (0.0 % si inconnu)
uncompressed_name : nom du fichier non compressé
La taille du fichier non compressé vaut -1 pour les fichiers n'étant pas au format gzip, comme les fichiers compressés « .Z ». Pour obtenir la taille décompressée de tels fichiers, vous pouvez utiliser :
zcat fichier.Z | wc -c
En combinaison avec l'option --verbose, les champs suivants sont également affichés :
method : méthode de compression
crc : CRC 32 bits des données décompressées
date & time : horodatage du fichier décompressé
Les méthodes de compression actuellement prises en charge sont deflate, compress, lzh (option -H du compress SCO) et pack. La valeur du CRC affichée est de ffffffff pour les fichiers qui ne sont pas au format gzip.
Avec l'option --name, le nom non compressé, la date et l'heure sont ceux stockés dans le fichier compressé, s'ils sont présents.
Avec --verbose, les totaux de taille et le taux de compression de tous les fichiers sont aussi affichés à moins que la taille de certains fichiers soit inconnue. Avec --quiet, les lignes de titre et de totaux ne sont pas affichées.
Lors de la décompression, ajouter .suf au début de la liste des suffixes pour essayer une dérivation du nom de fichier de sortie à partir du nom de fichier d'entrée.
De multiples fichiers compressés peuvent être concaténés. Dans ce cas, gunzip extraira tous les membres ensemble. Par exemple, si on fait :
gzip -c fichier1 > toto.gz
gzip -c fichier2 >> toto.gz
alors
gunzip -c toto
est équivalent à :
cat fichier1 fichier2
Si un membre d'un fichier .gz est endommagé, les autres membres peuvent néanmoins être récupérés (si le membre endommagé est supprimé). Néanmoins, il est possible d'obtenir un meilleur taux de compression en compressant tous les membres ensemble :
cat fichier1 fichier2 | gzip > toto.gz
compresse mieux que
gzip -c fichier1 fichier2 > toto.gz
Pour recompresser des fichiers concaténés pour obtenir une meilleure réduction, exécuter :
gzip -cd ancien.gz | gzip > nouveau.gz
Si un fichier compressé est constitué de plusieurs membres, la taille décompressée et le CRC rapportés par l'option --list s'appliquent uniquement au dernier membre. Si vous avez besoin de la taille décompressée de tous les membres, vous pouvez utiliser :
gzip -cd fichier.gz | wc -c
Si vous voulez créer un fichier archive contenant plusieurs membres de sorte que les membres puissent être ensuite extraits indépendamment, utilisez un archiveur comme tar ou zip. GNU tar prend en charge l'option -z pour invoquer gzip de façon transparente. gzip est conçu comme un complément à tar, pas comme un remplacement.
La variable d'environnement obsolescente GZIP peut contenir un ensemble d'options par défaut pour gzip. Ces options sont interprétées en premier lieu et peuvent être surchargées par les paramètres explicites présents sur la ligne de commandes. Comme cela peut provoquer des problèmes lors de l'utilisation de scripts, cette fonctionnalité n'est prise en charge que pour les options qui sont raisonnablement susceptibles de ne pas causer trop de dommages, et gzip avertit lors de son utilisation. Cette fonctionnalité sera supprimée dans une version future de gzip.
Un alias ou un script peuvent être utilisés à la place. Par exemple, si gzip est dans le répertoire /usr/bin, il est possible d'ajouter $HOME/bin dans PATH et de créer un script exécutable $HOME/bin/gzip contenant les lignes suivantes :
#! /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)
Le format de fichier gzip est spécifié par P. Deutsch, dans « GZIP file format specification » version 4.3, sur <https://www.ietf.org/rfc/rfc1952.txt>, RFC Internet 1952 (mai 1996). Le format de décompression (deflation) zip est spécifié par P. Deutsch, dans « DEFLATE Compressed Data Format Specification » version 1.3, sur <https://www.ietf.org/rfc/rfc1951.txt>, RFC Internet 1951 (mai 1996).
La valeur de sortie est normalement 0 ; si une erreur se produit, la valeur de sortie sera 1. Si un avertissement se produit, la valeur de sortie sera 2.
zcat fichier > recover
Lors de l'écriture de données compressées sur une bande magnétique, il est généralement nécessaire de compléter la sortie avec des zéros jusqu'à arriver à une limite de bloc. Quand les données sont lues et que le bloc entier est envoyé à gunzip pour décompression, gunzip détecte qu'il y a des déchets excédentaires à la fin des données compressées, et émet par défaut un avertissement. Vous devez utiliser l'option --quiet pour supprimer cet avertissement.
Dans quelques rares cas, l'option --best donne une moins bonne compression que le niveau de compression par défaut (-6). Sur certains fichiers hautement redondants, compress compresse mieux que gzip.
Signaler toute erreur à : bug-gzip@gnu.org
Page principale de GNU gzip :
<https://www.gnu.org/software/gzip/>
Aide globale pour l'utilisation de logiciels GNU :
<URL:http://www.gnu.org/gethelp/>.
Copyright © 1998-1999, 2001-2002, 2012, 2015-2022 Free
Software Foundation, Inc.
Copyright © 1992, 1993 Jean-loup Gailly
L'autorisation est donnée de créer et de distribuer des copies textuelles de ce manuel, à condition que la notice de copyright et la notice de permission soient préservées dans toutes les copies.
L'autorisation est donnée de copier et distribuer des versions modifiées de ce manuel sous les conditions des copies textuelles, à condition que tout le travail qui en est issu soit distribué sous les termes d'une notice de permission identique à celle-ci.
L'autorisation est donnée de copier et distribuer des traductions de ce manuel dans n'importe quelle autre langue, sous les conditions ci-dessus pour les versions modifiées, mis à part que cette notice de permission peut être incluse dans une traduction approuvée par la Free Software Foundation.
La traduction française de cette page de manuel a été créée par Frédéric Delanoy <delanoy_f@yahoo.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.
local |