Les compressions de fichiers sont effectuées selon des algorithmes spécifiques. Il existe de nombreuses techniques de compression, et l'une d'entre elles est réalisée via bzip2 . Dans ce didacticiel, nous apprendrons les bases de bzip2 à l'aide d'exemples faciles à comprendre. Veuillez noter que tous les exemples utilisés dans cet article ont été testés sur une machine Ubuntu 18.04LTS.
Commande Linux bzip2
bzip2 est un compresseur de fichiers basé sur la ligne de commande sous Linux qui utilise l'algorithme de compression de texte de tri de blocs Burrows-Wheeler et le codage Huffman pour effectuer le processus de compression. Voici sa syntaxe :
bzip2 [OPTIONS] filenames ...
Et voici ce que dit la page de manuel à propos de cet outil :
bzip2 compresses files using the Burrows-Wheeler block sorting text
compression algorithm, and Huffman coding. Compression is generally
considerably better than that achieved by more conventional
LZ77/LZ78-based compressors, and approaches the performance of the PPM
family of statistical compressors.
The command-line options are deliberately very similar to those of GNU
gzip, but they are not identical.
bzip2 expects a list of file names to accompany the command-line flags.
Each file is replaced by a compressed version of itself, with the name
"original_name.bz2". Each compressed file has the same modification
date, permissions, and, when possible, ownership as the corresponding
original, so that these properties can be correctly restored at decom?
pression time. File name handling is naive in the sense that there is
no mechanism for preserving original file names, permissions, owner?
ships or dates in filesystems which lack these concepts, or have seri?
ous file name length restrictions, such as MS-DOS.
Voici quelques exemples sous forme de questions-réponses qui devraient vous donner une bonne idée du fonctionnement de la commande bzip2.
Q1. Comment compresser un fichier avec bzip2 ?
L'utilisation de base est très simple - il suffit de passer le fichier à compresser en entrée de la commande bzip2. Voici un exemple :
bzip2 list.txt
La capture d'écran suivante montre la commande en action :
Q2. Comment compresser plusieurs fichiers avec bzip2 ?
Simple - passez simplement les noms de fichiers en entrée. Voir l'exemple suivant :
bzip2 list.txt list1.txt list2.txt
Q3. Comment décompresser avec bzip2 ?
Pour la décompression, utilisez l'option de ligne de commande -d. Voici un exemple :
bzip2 -d list.txt.bz2
Q4. Comment faire en sorte que bzip2 ne supprime pas le fichier d'entrée ?
Par défaut, lorsque bzip2 compresse un fichier, il supprime le fichier d'origine (ou d'entrée). Cependant, si vous ne voulez pas que cela se produise, utilisez l'option de ligne de commande -k.
Voici un exemple :
Q5. Comment faire en sorte que bzip2 affiche les détails de chaque opération de compression ?
Cela peut être fait en utilisant l'option de ligne de commande -v. Voici comment la page de manuel l'explique :
-v --verbose
Verbose mode -- show the compression ratio for each file processed. Further -v's
increase the verbosity level, spewing out lots of information which is primarily of
interest for diagnostic purposes.
Voici un exemple qui montre la sortie de la commande bzip2 lorsque -v est utilisé :
Q6. Comment vérifier l'intégrité d'un fichier compressé ?
La commande bzip2 peut également être utilisée pour vérifier l'intégrité d'un fichier .bz2 (un test qui s'assure que le fichier n'est pas corrompu ou a changé depuis sa création). Cela peut être fait en utilisant l'option de ligne de commande -t.
-t --test
Check integrity of the specified file(s), but don't decompress them.
This really performs a trial decompression and throws away the result.
Conclusion
L'utilitaire de ligne de commande bzip2 offre de nombreuses autres options, mais tout ce dont nous avons discuté ici devrait suffire à vous aider à démarrer. Une fois que vous avez terminé de vous entraîner aux options dont nous avons parlé dans ce didacticiel, vous pouvez vous rendre sur la page de manuel de l'outil pour en savoir plus.