| gzip | |||
Nomgzip, gunzip, zcat - Compresser ou décompresser des fichiers.Synopsisgzip [ -acdfhlLnNrtvV19 ] [-S suffixe] [ nom ... ]gunzip [ -acfhlLnNrtvV ] [-S suffixe] [ nom ... ] zcat [ -fhLV ] [ nom ... ] Descriptiongzip 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 date de dernier accès et de modification. (L'extension par défaut est -gz pour VMS, z pour MSDOS, OS/2 FAT, Windows NT FAT 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. gzip n'essaiera de compresser que les fichiers réguliers. 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. gzip n'essaie de tronquer que les parties du nom du fichier plus longues que 3 caractères. (Une partie est délimitées par des points.) Si le nom n'est constitué que de petites parties, les parties les plus longues 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 en ce qui concerne la longueur des noms de fichiers. Par défaut, gzip garde 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 quand l'horodate n'a pas été préservée lors d'un transfert de fichier. Les fichiers compressés peuvent être restaurés dans leur forme originale en utilisant gzip -d ou gunzip ou bien encore zcat. Si le nom original sauvé 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 prend une liste de fichiers sur la ligne de commandes et remplace chaque fichier dont le nom se termine par .gz, -gz, .z, -z, _z or .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. Pendant la compression, gzip utilise l'extension .tgz si nécessaire au lieu de tronquer un fichier d'extension .tar. gunzip peut actuellement décompresser les fichiers créés par gzip, zip, compress, compress -H ou pack. La détection du format d'entrée se fait automatiquement. Quand il utilise les deux premiers formats, gunzip vérifie un CRC 32 bit. Pour pack, gunzip 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 durant 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 une sortie "dégradée" sans s'en offusquer. Le format -H du compress de 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". Cette caractéristique n'est prévue que pour faciliter la conversion de fichiers .tar.zip au format .tar.gz. Pour extraire des fichiers zip contenant plusieurs membres, utilisez unzip au lieu de gunzip. 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 ou bien une liste de fichiers obtenue à partir de la ligne de commandes, ou bien son entrée standard, et décompresse les données sur la sortie standard. zcat décompressera les fichiers ayant le nombre magique correct qu'ils aient un suffixe .gz ou non. 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 distributions des sous-chaînes de caractères communes. Typiquement, des fichiers textes du type code source en 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'expansion dans le pire des cas est de quelques octets pour l'entête du fichier gzip, plus 5 octets tous les blocs de 32Ko, ou une expansion de 0.015% pour les grands fichiers. Notez que le nombre de blocs de disque réellement utilisé n'augmente presque jamais. gzip préserve les modes, permissions et horodates des fichiers pendant la compression ou la décompression.
Options
Utilisation AvancéeDe multiple fichiers compressés peuvent être concaténés. Dans ce cas gunzip extraiera tous les membres ensemble. Par exemple,
gzip -c file1 > foo.gz
Alors gunzip -c foo est équivalent à
cat file1 file2 Dans le cas où un membre d'un fichier .gz est endommagé, les autres membres peuvent toujours être récupérés (si le membre endommagé est supprimé). Néanmoins, vous pouvez obtenir une meilleur compression en compressant tous les membres ensemble :
cat file1 file2 | gzip > foo.gz compresse mieux que
gzip -c file1 file2 > foo.gz Si vous voulez recompresser des fichiers concaténés pour obtenir une meilleure compression, faites
gzip -cd old.gz | gzip > new.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 file.gz | wc -c Si vous voulez créer un fichier archive contenant de multiples membres de sorte que les membres puissent être ensuite extraits indépendamment, utilisez un archiveur comme tar ou zip. GNU tar supporte l'option -z pour invoquer gzip de façon transparente. gzip est conçu comme un complément à tar, pas comme son remplaçant. EnvironnementLa variable d'environnement 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 explicitement par les paramètres explicites présents sur la ligne de commandes. Par exemple,
pour sh: GZIP="-8v --name"; export GZIP Sur Vax/VMS, le nom de la variable d'environnement estGZIP_OPT, pour éviter un conflit avec l'ensemble de symboles utilisés lors de l'invocation du programme. Voir Aussicompact(1) . compress(1) , gzexe(1) , pack(1) , unzip(1) , zcmp(1) , zforce(1) , zip(1) , zmore(1) , znew(1) ,DiagnostiquesLa valeur de sortie vaut normalement 0; si une erreur se produit, la valeur de sortie sera de 1. Si un avertissement se produit, la valeur de sortie sera de 2.Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...] Les options invalides sont indiquées sur la ligne de commandes. fichier: not in gzip format Le fichier spécifié à gunzip n'a pas été compressé. fichier: Corrupt input. Use zcat to recover some data. Le fichier compressé a été endommagé. Les données se situant jusqu'au point d'échec peuvent être récupérées en utilisant zcat file > recover fichier: compressed with xx bits, can only handle yy bits fichier a été compressé (en utilisant LZW) par un programme qui peut traiter plus de bits que le code de décompression sur la machine utilisée. Recompressez le fichier avec gzip, qui compresse mieux et utilise moins de mémoire. fichier: already has .gz suffix -- no change Le fichier est supposé être déjà compressé. Renommez le fichier et réessayez. fichier already exists; do you wish to overwrite (y or n)? Répondez "y" si vous voulez que le fichier de sortie soit remplacé, répondez "n" sinon. gunzip: corrupt input Une violation de mémoire SIGSEGV a été détectée, ce qui signifie en général que le fichier d'entrée a été corrompu. xx.x% Pourcentage du fichier d'entrée sauvé par la compression. (Pertinent uniquement pour -v et -l.) -- not a regular file or directory: ignored Qaund l'entrée n'est pas un fichier régulier ou un répertoire (çàd un lien symbolique, un socket, une FIFO ou un fichier spécial de périphérique), elle n'est pas altérée. -- has xx other links: unchanged Le fichier d'entrée est "visé" par un ou des liens durs; il est laissé inchangé. Voyez ln(1) pour plus d'information. Utilisez l'option -f pour forcer la compression de fichiers liés plus d'une fois. InconvénientsPendant l'écriture de données compressées sur une bande magnétique, il est généralement nécessaire d'ajouter des zéros à la sortie jusqu'à arriver à une limite de bloc (padding). Quand les données sont lues et que le bloc entier est envoyé à gunzip pour la 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 supprimr cet avertissement. Cette option peut être placée dans la variable d'environnement GZIP comme suit :
pour
sh: GZIP="-q" tar -xfz --block-compress /dev/rst0 Dans l'exemple ci-dessus, gzip est invoqué explicitement par l'option -z du tar GNU. Assurez-vous que la même taille de bloc (option -b de tar) est utilisée pour la lecture et l'écriture de données compressées sur des bandes. (Cet exemple suppose que vous utilisez la version GNU de tar.) BoguesL'option --list rapporte des tailles incorrectes si elles excèdent 2 GB. L'option --liste rapporte des tailles de -1 et un CRC de ffffffff si le fichier compressé est situé sur un medium à accès non aléatoire (séquentiel par exemple).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. TraductionFrédéric Delanoy, 2000.
|