Tutoriel de la commande Linux xz pour les débutants (7 exemples)

Il existe plusieurs façons de compresser et décompresser des fichiers sous Linux. Bien que nous en ayons déjà discuté certaines(ici et ici), il y en a beaucoup que nous n’avons pas encore abordées. Alors ici, dans ce tutoriel, nous allons discuter d’un autre utilitaire de ligne de commande de ce type.

Il s’appelle xz. Nous allons discuter des bases de cet outil de ligne de commande. Mais avant de nous lancer, il est bon de mentionner que tous les exemples ici ont été testés sur une machine Ubuntu 18.04 LTS.

Commande Linux xz

Comme nous l’avons déjà mentionné au début, la commande xz de Linux te permet de compresser et décompresser des fichiers. Voici sa syntaxe :

xz [option...]  [file...]

Et voici ce que la page de manuel a à dire à ce sujet :

     xz is a general-purpose data compression tool with command line syntax similar to gzip(1) 
and bzip2(1).  The native file format is the .xz format, but the legacy .lzma format used
by LZMA Utils and raw compressed streams with no container format headers are also supported.

     xz compresses or decompresses each file according to the selected operation mode.  If no files
are given or file  is  -,  xz  reads from standard input and writes the processed data to
standard output.  xz will refuse (display an error and skip the file) to write compressed data
to standard output if it is a terminal.  Similarly, xz will refuse to read compressed data
from standard  input if it is a terminal.

Voici quelques exemples sous forme de questions-réponses qui devraient te donner une meilleure idée du fonctionnement de xz.

Q1. Comment utiliser la commande xz ?

L’utilisation de base est assez simple. Passe simplement le nom du fichier (qui doit être compressé) comme argument d’entrée à xz. Voici un exemple :

xz file.txt

Sur mon système, la commande susmentionnée a produit le fichier suivant en sortie.

file.txt.xz

Tu peux donc voir que la commande xz a compressé le fichier .txt. Il est intéressant de mentionner que l’opération remplace le fichier d’origine (fichier.txt dans ce cas) par la version compressée.

Q2. Comment faire pour que xz conserve aussi le fichier original ?

Comme je l’ai mentionné dans la section précédente, la commande xz remplace le fichier original par sa version compressée. Cependant, si tu le souhaites, tu peux forcer xz à conserver également le fichier original. Tu peux le faire en utilisant l’option de ligne de commande -k.

Par exemple :

xz -k file.txt

Cette fois, tu trouveras les deux fichiers file.txt et file.txt.xz dans le répertoire de travail actuel.

Q3. Comment compresser plusieurs fichiers ?

C’est très simple. Passe simplement les noms comme arguments d’entrée à xz.

Par exemple :

xz file1.txt file2.txt

Cette commande va compresser ces deux fichiers en une seule fois.

Q4. Comment décompresser les fichiers .xz ?

Pour décompresser les fichiers .xz, utilise l’option de ligne de commande -d. Par exemple :

xz -d file.txt.xz

Cette commande produira file.txt dans le répertoire de travail actuel.

Q5. Comment faire pour que xz imprime des informations sur les fichiers compressés ?

Tu peux le faire en utilisant l’option de ligne de commande -l. Par exemple :

xz -l file.txt.xz

Cette commande a produit les informations suivantes dans mon cas :

Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename
    1       1         96 B         37 B  2.595  CRC64   file.txt.xz

Q6. Comment spécifier un format de compression/décompression différent ?

Tu peux le faire en utilisant l’option de ligne de commande -F. Mais pour utiliser cette option, tu dois comprendre ce qui suit :

-F format, --format=format
       Specify the file format to compress or decompress:

       auto   This is the default.  When compressing, auto is equivalent to xz.  When decompressing, the format of the  input  file
              is automatically detected.  Note that raw streams (created with --format=raw) cannot be auto-detected.

       xz     Compress to the .xz file format, or accept only .xz files when decompressing.

       lzma, alone
              Compress  to the legacy .lzma file format, or accept only .lzma files when decompressing.  The alternative name alone
              is provided for backwards compatibility with LZMA Utils.

       raw    Compress or uncompress a raw stream (no headers).  This is meant for advanced users only.  To decode raw streams, you
              need use --format=raw and explicitly specify the filter chain, which normally would have been stored in the container
              headers.

Tu vois donc que tu peux utiliser l’un des formats suivants : ‘auto’, ‘xz’, ‘lzma’ et ‘raw’.

Q7. Comment faire pour que xz affiche un indicateur de progression ?

Tu peux le faire en utilisant l’option de ligne de commande -v. Voici un exemple :

Comment faire pour que xz affiche un indicateur de progression

Conclusion

Nous avons abordé une poignée d’options de ligne de commande xz dans ce tutoriel, mais il en existe bien d’autres. Une fois que tu as fini de les comprendre et de les mettre en pratique, dirige-toi vers la page de manuel de l’outil pour en savoir plus.

Vous aimerez aussi...