Manuels pour la ligne de commande

Man » Manuel gzip en ligne - documentation en ligne détaillée pour la page de manuel gzip

🌍
gzip, gunzip, zcat - compresser ou décompresser des fichiers

SYNOPSIS

gzip [ -acdfhklLnNrtvV19 ] [-S suffix] [ nom ... ]
gunzip [ -acfhklLnNrtvV ] [-S suffix] [ nom ... ]
zcat [ -fhLV ] [ nom ... ]

DESCRIPTION

La commande gzip réduit la taille des fichiers nommés en utilisant le codage Lempel-Ziv (LZ77). Dans la mesure du possible, chaque fichier est remplacé par un fichier portant l'extension .gz, tout en conservant les mêmes droits, modes, dates et heures d'accès et de modification. (L'extension par défaut est 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 vers la sortie standard. La commande gzip tentera uniquement de compresser les fichiers réguliers. En particulier, elle 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 tente de ne tronquer que les parties du nom de fichier qui sont plus longues que 3 caractères. (Une partie est délimitée par des points). Si le nom ne contient que des parties courtes, les parties les plus longues sont tronquées. Par exemple, si les noms de fichiers sont limités à 14 caractères, gzip.msdos.exe est compressé en gzi.msd.exe.gz. Les noms ne sont pas tronqués sur les systèmes qui n'ont pas de limite sur la longueur des noms de fichiers.

Par défaut, gzip conserve le nom de fichier et l'horodatage d'origine dans le fichier compressé. Ceux-ci sont utilisés lors de la décompression du fichier avec l'option -N. Ceci est utile lorsque le nom du fichier compressé a été tronqué ou lorsque l'horodatage n'a pas été conservé après un transfert de fichier.

Les fichiers compressés peuvent être restaurés à leur forme d'origine à l'aide de gzip -d ou gunzip ou zcat. Si le nom d'origine enregistré dans le fichier compressé n'est pas adapté à son système de fichiers, un nouveau nom est construit à partir du nom d'origine pour le rendre valide.

gunzip prend une liste de fichiers en ligne de commande et remplace chaque fichier dont le nom se termine par .gz, -gz, .z, -z ou _z (sans tenir compte de la casse) et qui commence par le bon nombre magique par un fichier décompressé sans l'extension d'origine. gunzip reconnaît également les extensions spéciales .tgz et .taz comme abréviations de .tar.gz et .tar.Z respectivement. Lors de la compression, gzip utilise l'extension .tgz si nécessaire au lieu de tronquer un fichier avec une 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 est automatique. Lors de l'utilisation des deux premiers formats, gunzip vérifie un CRC sur 32 bits. Pour pack et gunzip, il vérifie la longueur décompressée. Le format de compression standard compress n'a pas été conçu pour permettre des vérifications de cohérence. Cependant, gunzip est parfois en mesure de détecter un fichier .Z défectueux. Si vous rencontrez une erreur lors de la décompression d'un fichier .Z, ne supposez pas que le fichier .Z est correct simplement parce que la commande uncompress standard ne se plaint pas. Cela signifie généralement que la commande uncompress standard ne vérifie pas son entrée et génère simplement une sortie incorrecte. Le format SCO compress -H (méthode de compression lzh) n'inclut pas de CRC, mais permet également certaines vérifications de cohérence.

Les fichiers créés par zip peuvent être décompressés par gzip uniquement s’ils contiennent un seul membre compressé avec la méthode « deflation ». Cette fonctionnalité est conçue pour faciliter la conversion des fichiers tar.zip au format tar.gz. Pour extraire un fichier zip contenant un seul membre, utilisez une commande telle que « gunzip \<foo.zip » ou « gunzip -S .zip foo.zip ». Pour extraire les fichiers 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é sous le nom gzcat afin de conserver le lien d’origine vers la commande compress.) zcat décompresse une liste de fichiers sur la ligne de commande ou son entrée standard et écrit les données décompressées sur la sortie standard. zcat décompressera les fichiers qui ont le nombre magique correct, qu’ils aient ou non l’extension .gz.

La commande gzip utilise l’algorithme Lempel-Ziv utilisé dans zip et PKZIP. Le taux de compression obtenu dépend de la taille de l’entrée et de la distribution des sous-chaînes courantes. Généralement, le texte tel que le code source ou l’anglais est réduit de 60 à 70 %. La compression est généralement bien meilleure que celle obtenue par LZW (utilisé dans 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 le fichier d’origine. Le pire des cas d’expansion est de quelques octets pour l’en-tête du fichier gzip, plus 5 octets par bloc de 32 Ko, soit un taux d’expansion de 0,015 % pour les fichiers volumineux. Le nombre réel de blocs disque utilisés n’augmente presque jamais.

gzip conserve normalement le mode et l’horodatage de modification d’un fichier lors de la compression ou de la décompression. Si vous disposez des privilèges appropriés, il conserve également le propriétaire et le groupe du fichier.

OPTIONS

-a --ascii

Mode texte ASCII : convertir les fins de ligne en utilisant les conventions locales. Cette option n’est prise en charge que sur certains systèmes non Unix. Pour MSDOS, CR LF est converti en LF lors de la compression, et LF est converti en CR LF lors de la décompression.

-c --stdout --to-stdout

Écrire la sortie sur la sortie standard ; conserver les fichiers d’origine inchangés. S’il y a plusieurs fichiers d’entrée, la sortie consiste en une séquence de membres compressés indépendants. Pour obtenir une meilleure compression, concaténer tous les fichiers d’entrée avant de les compresser.

-d --decompress --uncompress

Décompresser.

-f --force

Forcer la compression ou la décompression, même si le fichier a plusieurs liens ou si le fichier correspondant existe déjà, ou si les données compressées sont lues à partir d’un terminal ou y sont écrites. Si les données d’entrée ne sont pas dans un format reconnu par gzip, et si l’option --stdout est également spécifiée, copier les données d’entrée sans modification vers la sortie standard : faire en sorte que zcat se comporte comme cat. Si -f n’est pas spécifié, et lorsqu’il ne s’exécute pas en arrière-plan, gzip invite à vérifier si un fichier existant doit être écrasé.


-h --help

Affiche un écran d’aide et quitte.

-k --keep

Conserve (ne supprime pas) les fichiers d’entrée pendant la compression ou la décompression.

-l --list

Pour chaque fichier compressé, affiche les champs suivants :

taille compressée : taille du fichier compressé
taille décompressée : taille du fichier décompressé
ratio : taux de compression (0,0 % si inconnu)
nom_décompressé : nom du fichier décompressé

La taille décompressée est indiquée par -1 pour les fichiers qui ne sont pas au format gzip, tels que les fichiers compressés .Z. Pour obtenir la taille décompressée d’un tel fichier, vous pouvez utiliser :

zcat file.Z | wc -c

En combinaison avec l’option --verbose, les champs suivants sont également affichés :

méthode : méthode de compression
crc : le CRC 32 bits des données non compressées
date et heure : horodatage du fichier non compressé

Les méthodes de compression actuellement prises en charge sont deflate, compress, lzh (SCO compress -H) et pack. Le CRC est indiqué par ffffffff pour un fichier qui n’est pas au format gzip.

Avec --name, le nom et la date/heure décompressés sont ceux qui sont stockés dans le fichier compressé, s’ils sont présents.

Avec --verbose, les totaux de taille et le taux de compression pour tous les fichiers sont également affichés, à moins que certaines tailles soient inconnues. Avec --quiet, les lignes de titre et de totaux ne sont pas affichées.

-L --license

Affiche la licence gzip et quitte.

-n --no-name

Lors de la compression, ne sauvegarde pas par défaut le nom de fichier et l’horodatage d’origine. (Le nom d’origine est toujours sauvegardé si le nom a dû être tronqué.) Lors de la décompression, ne restaure pas le nom de fichier d’origine s’il est présent (supprime uniquement le suffixe gzip du nom du fichier compressé) et ne restaure pas l’horodatage d’origine s’il est présent (copie-le à partir du fichier compressé). Cette option est la valeur par défaut lors de la décompression.

-N --name

Lors de la compression, sauvegarde toujours le nom de fichier d’origine et sauvegarde la partie secondes de l’horodatage de modification d’origine si l’original est un fichier ordinaire et que son horodatage est d’au moins 1 (1er janvier 1970 00:00:01 UTC) et inférieur à 2^32 (7 février 2106 06:28:16 UTC, en supposant que les secondes intercalaires ne sont pas comptées) ; c’est la valeur par défaut. Lors de la décompression, restaure à partir du nom de fichier et de l’horodatage enregistrés, s’ils sont présents. Cette option est utile sur les systèmes qui ont une limite de longueur du nom de fichier ou lorsque l’horodatage a été perdu après un transfert de fichier.

-q --quiet

Supprime tous les avertissements.

-r --recursive

Parcourt la structure de répertoires de manière récursive. Si l’un des noms de fichiers spécifiés dans la ligne de commande est un répertoire, gzip descendra dans le répertoire et compressera tous les fichiers qu’il y trouve (ou les décompressera dans le cas de gunzip).


-S .suf --suffix .suf
Lors de la compression, utilisez le suffixe .suf au lieu de .gz. Tout suffixe non vide peut être utilisé, mais il est préférable d'éviter les suffixes autres que .z et .gz pour éviter toute confusion lors du transfert de fichiers vers d'autres systèmes.

Lors de la décompression, ajoutez .suf au début de la liste des suffixes à essayer lors de la détermination du nom du fichier de sortie à partir du nom du fichier d'entrée.

--synchronous
Utiliser la sortie synchrone. Avec cette option, gzip risque moins de perdre des données en cas de panne du système, mais cela peut être considérablement plus lent.

-t --test
Tester. Vérifier l'intégrité du fichier compressé, puis quitter.

-v --verbose
Mode verbeux. Afficher le nom et le pourcentage de réduction pour chaque fichier compressé ou décompressé.

-V --version
Version. Afficher le numéro de version et les options de compilation, puis quitter.

-# --fast --best
Réguler la vitesse de compression à l'aide du chiffre \#, où -1 ou --fast indique la méthode de compression la plus rapide (moins de compression) et -9 ou --best indique la méthode de compression la plus lente (meilleure compression). Le niveau de compression par défaut est -6 (c'est-à-dire, biaisé vers une compression élevée au détriment de la vitesse).

--rsyncable
Lorsque vous synchronisez un fichier compressé entre deux ordinateurs, cette option permet à rsync de transférer uniquement les fichiers qui ont été modifiés dans l'archive au lieu de l'ensemble de l'archive. Normalement, après qu'une modification a été apportée à un fichier quelconque de l'archive, l'algorithme de compression peut générer une nouvelle version de l'archive qui ne correspond pas à la version précédente de l'archive. Dans ce cas, rsync transfère l'ensemble de la nouvelle version de l'archive vers l'ordinateur distant. Avec cette option, rsync peut transférer uniquement les fichiers modifiés ainsi qu'une petite quantité de métadonnées nécessaires pour mettre à jour la structure de l'archive dans la zone qui a été modifiée.

UTILISATION AVANCÉE

Plusieurs fichiers compressés peuvent être concaténés. Dans ce cas, gunzip extraira tous les membres en une seule fois. Par exemple :

gzip -c file1 > foo.gz
gzip -c file2 >> foo.gz

Puis

gunzip -c foo

est équivalent à

cat file1 file2

En cas de dommage à un membre d'un fichier .gz, les autres membres peuvent toujours être récupérés (si le membre endommagé est supprimé). Cependant, vous pouvez obtenir une meilleure compression en compressant tous les membres en une seule fois :

cat file1 file2 | gzip > foo.gz

compresse mieux que

gzip -c file1 file2 > foo.gz

Si vous souhaitez recomprimer les fichiers concaténés pour obtenir une meilleure compression, faites :

gzip -cd old.gz | gzip > new.gz

Si un fichier compressé contient plusieurs membres, la taille décompressée et le CRC signalé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 souhaitez créer un seul fichier d'archive avec plusieurs membres afin que les membres puissent être extraits ultérieurement de manière indépendante, utilisez un outil d'archivage tel que tar ou zip. GNU tar prend en charge l'option -z pour invoquer gzip de manière transparente. gzip est conçu comme un complément à tar, et non comme un remplacement.


ENVIRONNEMENT

La variable d'environnement obsolète GZIP peut contenir un ensemble d'options par défaut pour gzip. Ces options sont interprétées en premier et peuvent être remplacées par des paramètres de ligne de commande explicites. Étant donné que cela peut causer 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 problèmes, et gzip affiche un avertissement si elle est utilisée. Cette fonctionnalité sera supprimée dans une future version de gzip.

Vous pouvez utiliser un alias ou un script à la place. Par exemple, si gzip se trouve dans le répertoire /usr/bin, vous pouvez ajouter $HOME/bin au début de votre PATH et créer un script exécutable $HOME/bin/gzip contenant ce qui suit :

#! /bin/sh
export PATH=/usr/bin
exec gzip -9 "$@"

VOIR AUSSI

znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1)

Le format de fichier gzip est spécifié dans P. Deutsch, GZIP file format specification version 4.3, [https://www.ietf.org/rfc/rfc1952.txt], Internet RFC 1952 (mai 1996). Le format de déflation zip est spécifié dans P. Deutsch, DEFLATE Compressed Data Format Specification version 1.3, [https://www.ietf.org/rfc/rfc1951.txt], Internet RFC 1951 (mai 1996).

DIAGNOSTICS

Le code de sortie est normalement 0 ; en cas d'erreur, le code de sortie est 1. Si un avertissement se produit, le code de sortie est 2.

Utilisation : gzip [-cdfhklLnNrtvV19] [-S suffix] [fichier ...]

Des options non valides ont été spécifiées sur la ligne de commande.

fichier : n'est pas au format gzip

Le fichier spécifié à gunzip n'a pas été compressé.

fichier : entrée corrompue.

Utilisez zcat pour récupérer certaines données. Le fichier compressé a été endommagé. Les données jusqu'au point de défaillance peuvent être récupérées en utilisant :

zcat fichier > récupérer

fichier : compressé avec xx bits, ne peut gérer que yy bits

Le fichier a été compressé (en utilisant LZW) par un programme qui pouvait gérer plus de bits que le code de décompression sur cette machine. Recompressez le fichier avec gzip, qui compresse mieux et utilise moins de mémoire.

fichier : a déjà le suffixe .gz -- inchangé

Le fichier est supposé être déjà compressé. Renommez le fichier et réessayez.

fichier existe déjà ; souhaitez-vous le remplacer (o ou n) ?

Répondez "o" si vous souhaitez que le fichier de sortie soit remplacé ; "n" si ce n'est pas le cas.

gunzip : entrée corrompue

Une violation SIGSEGV a été détectée, ce qui signifie généralement que le fichier d'entrée a été corrompu.

xx.x % Pourcentage de l'entrée économisé par la compression.
(Pertinent uniquement pour -v et -l.)

-- ce n'est pas un fichier ou un répertoire normal : ignoré

Lorsque le fichier d'entrée n'est pas un fichier ou un répertoire normal (par exemple, un lien symbolique, une socket, un FIFO, un fichier périphérique), il est laissé intact.

-- a xx autres liens : inchangé

Le fichier d'entrée a des liens ; il est laissé inchangé. Voir ln(1) pour plus d'informations. Utilisez l'option -f pour forcer la compression des fichiers à liens multiples.

AVERTISSEMENTS

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'à une limite de bloc. Lorsque les données sont lues et que l'ensemble du bloc est transmis à gunzip pour la décompression, gunzip détecte qu'il y a des données supplémentaires à la fin et affiche un avertissement par défaut. Vous pouvez utiliser l'option --quiet pour supprimer l'avertissement.


DÉFAUTS

Dans certains cas rares, l'option --best donne une compression moins bonne que le niveau de compression par défaut (-6). Sur certains fichiers très redondants, compress compresse mieux que gzip.

SIGNALEMENT DES DÉFAUTS

Signalez les défauts à : _ Page d'accueil de GNU gzip : [https://www.gnu.org/software/gzip/] Aide générale sur l'utilisation des logiciels GNU : [https://www.gnu.org/gethelp/]

Copyright © 1998–1999, 2001–2002, 2012, 2015–2023 Free Software Foundation, Inc. Copyright © 1992, 1993 Jean-loup Gailly

La permission est accordée de réaliser et de distribuer des copies conformes de ce manuel, à condition que l'avis de copyright et le présent avis de permission soient conservés sur toutes les copies.

La permission est accordée de copier et de distribuer des versions modifiées de ce manuel aux conditions de copie conforme, à condition que l'ensemble de l'œuvre dérivée résultante soit distribué aux conditions d'un avis de permission identique à celui-ci.

La permission est accordée de copier et de distribuer des traductions de ce manuel dans une autre langue, aux conditions susmentionnées pour les versions modifiées, à l'exception que le présent avis de permission peut être exprimé dans une traduction approuvée par la Fondation.