GZIP
Section: Manuel de l'utilisateur Linux (1) Updated: Index
NOM
SYNOPSIS
DESCRIPTION
OPTIONS
UTILISATION AVANCÉE
ENVIRONNEMENT
VOIR AUSSI
DIAGNOSTICS
AVERTISSEMENTS
BOGUES
COPYRIGHT
TRADUCTION
NOM
gzip, gunzip, zcat - Compacter ou décompacter des fichiers.
SYNOPSIS
gzip
[ -acdfhlLnNrtvV19 ]
[-S suffixe]
[
nom ...
]
gunzip
[ -acfhlLnNrtvV ]
[-S suffixe]
[
nom ...
]
zcat
[ -fhLV ]
[
nom ...
]
DESCRIPTION
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,
tout en conservant les mêmes modes de permissions, et les mêmes dates de
derniers accès et modification. (L'extension par défaut est
-gz
pour VMS,
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
compactée sur la sortie standard.
gzip
n'essaiera de compacter que les fichiers réguliers. En particulier, il
ignorera les liens symboliques.
Si le nom du fichier compacté est trop long pour son système de fichiers,
gzip
le tronque.
gzip
essaie de ne tronquer que les parties du nom du fichier plus longues que 3
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 seront
tronquées. Par exemple, si les noms de fichiers sont limités à 14
caractères, gzip.msdos.exe sera compacté en gzi.msd.exe.gz. Les noms ne
sont pas tronqués sur les systèmes qui ne comportent pas de limites portant
sur la longueur des noms de fichiers.
Par défaut,
gzip
conserve le nom du fichier original et son horodate dans le fichier
compacté. Ceux-ci sont utilisés durant le compactage du fichier avec
l'option
-N.
C'est utile quand le nom du fichier compacté a été tronqué ou lorsque
l'horodate n'a pas été préservée après un transfert de fichier.
Les fichiers compactés peuvent être restaurés dans leur forme originale en
utilisant
gzip -d
ou
gunzip
ou bien encore
zcat.
Si le nom original sauvegardé dans le fichier compacté 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 or .Z, et qui
commence par le nombre magique correct, par un fichier décompacté 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 du compactage,
gzip
utilise l'extension
.tgz
si nécessaire au lieu de tronquer un fichier possédant une extension
.tar.
gunzip
peut actuellement décompacter 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
vérifie la longueur du fichier décompacté. 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 du décompactage 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 » sans s'en offusquer. Le format -H du compress SCO
(méthode de réduction 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écompactés par gzip que s'ils n'ont qu'un seul
membre compacté 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 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écompacte soit une liste de fichiers obtenue à partir de la ligne de
commandes, soit son entrée standard, et écrit les données décompactées sur
la sortie standard.
zcat
décompactera les fichiers ayant le nombre magique correct qu'ils possèdent
le suffixe
.gz
ou non.
gzip
utilise l'algorithme de Lempel-Ziv utilisé par
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 de caractères communes. Typiquement,
des fichiers textes du type code source en anglais seront réduits à hauteur
de 60-70 %. La réduction 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).
Le compactage est toujours effectué, même si le fichier compacté est
légèrement plus grand que l'original. L'expansion 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 expansion de 0,015 % pour les grands fichiers.
Notez que le nombre réel de blocs de disque utilisés n'augmente presque
jamais.
gzip
préserve les modes, permissions et horodates des fichiers qu'il compacte ou
décompacte.
OPTIONS
- -a --ascii
-
Mode texte ascii ; convertit les fins de lignes en utilisant les
conventions locales. Cette option n'est supportée que sur certains systèmes
non Unix. Pour MSDOS, CR LF est converti en LF lors du compactage, et LF
est converti en CR LF lors du décompactage.
- -c --stdout --to-stdout
-
Écrire la sortie sur la sortie standard ; garder les fichiers originaux
inchangés. S'il y plusieurs fichiers d'entrée, la sortie consiste en une
séquence de membres compactés indépendamment. Pour obtenir un meilleur taux
de compression, concaténez tous les fichiers d'entrée avant de les
compacter.
- -d --decompress --uncompress
-
Décompacter.
- -f --force
-
Forcer le compactage ou le décompactage même si le fichier possède
plusieurs liens matériels, ou si le fichier correspondant existe déjà, ou
encore si les données compactées sont lues ou écrites à partir d'un
terminal. Si les données d'entrée ne sont pas dans un format reconnu par
gzip,
et si l'option --stdout est fournie, copier les données en entrée sans
modification sur la sortie standard : laisser
zcat
se comporter comme
cat.
Si
-f
n'est pas fourni, et s'il ne tourne pas en arrière-plan,
gzip
interroge l'utilisateur pour vérifier si un fichier existant doit être
écrasé ou non.
- -h --help
-
Afficher un écran d'aide et se terminer.
- -l --list
-
Pour chaque fichier compacté, afficher les champs suivants :
compressed size : taille du fichier compacté
uncompressed size : taille du fichier non
compacté
ratio : coefficient de réduction
(0.0 % si inconnu)
uncompressed_name : nom du fichier non compacté
La taille du fichier non compacté vaut -1 pour les fichiers n'étant pas au
format gzip, comme les fichiers compactés .Z. Pour obtenir la taille
décompacté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 réduction
crc: CRC 32 bits des données décompactées
date & time: horodate du fichier décompacté
Les méthodes de réduction actuellement supportées 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 --name, le nom décompacté, la date et l'heure sont ceux stockés dans
le fichier compacté (s'il y sont présents).
Avec --verbose, les totaux de taille et de coefficient de réduction 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
-
Afficher la licence d'utilisation de
gzip
et se terminer.
- -n --no-name
-
Lors du compactage, ne pas sauvegarder les noms et horodates des fichiers
originaux par défaut (le nom original est toujours sauvegardé si le nom du
fichier a dû être tronqué). Lors du décompactage, ne pas restaurer le nom
du fichier original s'il est présent (ne supprimer que le suffixe
gzip
du nom du fichier compacté), et ne pas restaurer l'horodate originale si
elle est présente (prendre celle du fichier compacté). Cette option est
activée par défaut lors du décompactage.
- -N --name
-
Lors du compactage, toujours sauvegarder les noms et horodates des fichiers
originaux ; c'est le comportement par défaut. Lors du décompatage,
restaurer le nom du fichier original et son horodate s'ils sont présents.
Cette option est utile sur les systèmes ayant une limite sur la longueur
des noms de fichiers ou lorsque l'horodate a été perdue à l'occasion d'un
transfert de fichier.
- -q --quiet
-
Supprimer tous les avertissements.
- -r --recursive
-
Parcourir la structure du répertoire récursivement. Si l'un des noms de
fichiers spécifiés sur la ligne de commandes est un répertoire,
gzip
descendra dans ce répertoire et compactera tous les fichiers qu'il y trouve
(ou les décompactera dans le cas de
gunzip).
- -S .suf --suffix .suf
-
Utiliser le suffixe .suf au lieu de .gz. N'importe quel suffixe peut être
donné, mais les suffixes différents de .z et .gz devraient être évités pour
éviter une confusion lors du transfert de fichiers sur d'autres
systèmes. Un suffixe vide force gunzip à essayer de décompacter tous
les fichiers donnés quel que soit leur suffixe, comme dans
gunzip -S "" * (*.* pour MSDOS)
Des versions précédentes de gzip utilisaient le suffixe .z. Ceci a
été changé pour éviter un conflit avec
pack(1).
- -t --test
-
Tester. Vérifier l'intégrité du fichier compacté.
- -v --verbose
-
Mode bavard. Afficher le nom et le pourcentage de réduction pour chaque
fichier compacté ou décompacté.
- -V --version
-
Version. Afficher le numéro de version et les options de compilation puis
se terminer.
- -# --fast --best
-
Réguler la vitesse de compactage en utilisant le chiffre
#
spécifié, où
-1
ou
--fast
indique la méthode de réduction la plus rapide (la moins bonne réduction),
et
-9
ou
--best
indique la méthode de réduction la plus lente (la meilleure réduction). Le
niveau de réduction par défaut est
-6
(c.-à-d. biaisé en faveur d'une forte réduction aux dépens de la vitesse d'exécution.
UTILISATION AVANCÉE
De multiples fichiers compactés peuvent être concaténés. Dans ce cas,
gunzip
extraira tous les membres ensemble. Par exemple, si on fait
gzip -c fichier1 > foo.gz
gzip -c fichier2 >> foo.gz
alors
gunzip -c foo
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,
vous pouvez obtenir un meilleur taux de compression en compactant tous les
membres ensemble :
cat fichier1 fichier2 | gzip > foo.gz
compacte mieux que
gzip -c fichier1 fichier2 > foo.gz
Si vous voulez recompacter des fichiers concaténés pour obtenir une
meilleure réduction, faites
gzip -cd ancien.gz | gzip > nouveau.gz
Si un fichier compacté est constitué de plusieurs membres, la taille
décompactée et le CRC rapportés par l'option --list s'appliquent uniquement
au dernier membre. Si vous avez besoin de la taille décompacté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 supporte l'option -z pour
invoquer gzip de façon transparente. gzip est conçu comme un
complément à tar, pas comme un remplacement.
ENVIRONNEMENT
La 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
pou csh : setenv GZIP "-8v --name"
pour MSDOS : set GZIP=-8v --name
Sur Vax/VMS, le nom de la variable d'environnement est GZIP_OPT, pour
éviter un conflit avec le jeu de symboles utilisés lors de l'invocation du
programme.
VOIR AUSSI
znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1),
pack(1), compact(1)
Le format de fichier
gzip
est spécifié par P. Deutsch, dans « GZIP file format
specification » version 4.3, sur
<ftp://ftp.isi.edu/in-notes/rfc1952.txt>,
RFC Internet 1952 (mai 1996).
Le format de dégonflement (deflation)
zip
est spécifié par P. Deutsch, dans « DEFLATE Compressed Data Format
Specification » version 1.3, sur
<ftp://ftp.isi.edu/in-notes/rfc1951.txt>,
RFC Internet 1951 (mai 1996).
DIAGNOSTICS
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.
- Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
-
Des options invalides ont été spécifiées sur la ligne de commandes.
- fichier: not in gzip format
-
Le fichier fourni à
gunzip
n'a pas été compacté.
- fichier: Corrupt input. Use zcat to recover some data.
-
Le fichier compacté a été endommagé. Les données se situant jusqu'au point
d'échec peuvent être récupérées en utilisant
zcat fichier > recover
- fichier: compressed with xx bits, can only handle yy bits
-
fichier
a été compacté (en utilisant LZW) par un programme qui peut traiter plus de
bits
que le code de décompactage sur la machine utilisée. Recompactez le fichier
avec gzip, qui compacte mieux et utilise moins de mémoire.
- fichier: already has .gz suffix -- no change
-
Le fichier est supposé être déjà compacté. 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 économisé par le compactage.
-
(Pertinent uniquement pour
-v
et
-l.)
- -- not a regular file or directory: ignored
-
Quand le fichier d'entrée n'est pas un fichier régulier ou un répertoire
(c.-à-d. un lien symbolique, une socket, une FIFO ou un fichier de
périphérique), il n'est pas altéré.
- -- has xx other links: unchanged
-
Le fichier d'entrée possède des liens (NdT : matériels) ; il est
laissé inchangé. Voyez
ln(1)
pour plus d'informations. Utilisez l'option
-f
pour forcer la réduction de fichiers liés plus d'une fois.
AVERTISSEMENTS
Lors de l'écriture de données compacté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écompactage,
gunzip
détecte qu'il y a des déchets excédentaires à la fin des données
compactées, et émet par défaut un avertissement. Vous devez utiliser
l'option --quiet pour supprimer cet avertissement. Cette option peut être
placée dans la variable d'environnement
GZIP
comme ceci :
pour sh: GZIP="-q" tar -xfz --block-compress /dev/rst0
pour csh: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0
Dans l'exemple ci-dessus, gzip est invoqué implicitement avec
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 compactées
sur des bandes magnétiques. (Cet exemple suppose que vous utilisiez la
version GNU de tar.)
BOGUES
Le format gzip représente la taille modulo 2^32 ; de ce fait, l'option
--list rapporte des tailles réduites et des taux de compression incorrects
pour des fichiers réduits de 4 Go ou plus. Pour contourner ce problème,
vous pouvez utiliser la commande suivante pour découvrir la véritable
taille d'un grand fichier réduit :
zcat fichier.gz | wc -c
L'option --list rapporte des tailles de -1 et un crc de ffffffff si le
fichier compacté est situé sur un médium à accès non aléatoire.
Dans quelques rares cas, l'option --best donne un moins bon compactage que
le niveau de compactage par défaut (-6). Sur certains fichiers hautement
redondants,
compress
compacte mieux que
gzip.
COPYRIGHT
Copyright © 1998, 1999, 2001 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 traiter ce fichier avec troff et d'imprimer le
résultat, à condition que le document imprimé comporte une notice de
permission identique à celle-ci à l'exception de la suppression de ce
paragraphe (qui n'est pas pertinent dans la version imprimée).
L'autorisation est donnée de copier et distribuer des traductions de ce manuel dans n'importe quel autre langue, sous les conditions ci-dessus pour les versions modifiées, mis à part que cette notice de permission peut être incluse dans des traductions approuvées par la Free Software Foundation au lieu de l'anglais originel.
TRADUCTION
Frédéric Delanoy <delanoy_f at yahoo.com>, 2002.
|