Présentation
Dans cet article, nous allons apprendre à compresser des fichiers à l'aide de l'outil de compression de fichiers bz2 (commande linux bzip2) et à décompresser le fichier compressé bz2. bzip2 est un outil de compression open source similaire à l'outil de compression zip et gzip utilisé pour compresser des fichiers de grande taille afin de réduire leur taille. bzip2 peut compresser des fichiers et non des répertoires. bzip2 donne plus de compression que gzip et zip. La commande Linux bzip2 a été développée par Julian Seward en 1996 et publiée sous une licence de style BSD.
Pourquoi avons-nous besoin de compresser un fichier. Prenons un exemple. Supposons que vous souhaitiez envoyer un e-mail à quelqu'un avec une pièce jointe. mais la taille de votre fichier joint est supérieure à la limite de taille de pièce jointe autorisée. Dans ce cas, vous pouvez utiliser l'outil de compression de fichier bz2 (commande linux bzip2) pour compresser le fichier afin de réduire la taille du fichier. Certaines fonctionnalités principales de l'outil de compression de fichiers bz2 incluent :
- Il s'agit d'une application multiplateforme disponible pour les principaux systèmes d'exploitation, c'est-à-dire Linux, Microsoft Windows, MacOS.
- Peut récupérer les données d'un fichier bz2 corrompu.
- Disponible pour les systèmes d'exploitation 32 bits et 64 bits.
- Peut créer une compression rapide et optimale des fichiers.
Voyons maintenant la commande Linux bzip2 avec des exemples :
Compresser un fichier
Compressez un fichier à l'aide de la commande Linux bzip2.
$ bzip2 myfile.txt # Compress a File
Sortie :
$ ls myfile.txt.bz2
Compresser un fichier avec une sortie standard
Commande bzip2 avec -c va compresser le fichier avec une sortie standard.
$ bzip2 -c myfile.txt > myfile.txt.bz2 # Compress a file with standard output
Sortie :
$ ls myfile.txt myfile.txt.bz2
Compresser un fichier en conservant le fichier d'entrée (fichier source)
Normalement, la commande bzip2 compresse le fichier et supprime le fichier source, mais la commande bzip2 avec l'argument -k compresse le fichier en conservant le fichier source non supprimé.
$ bzip2 -k myfile.txt # Compress file without delete Input file
Sortie :
$ ls myfile.txt myfile.txt.bz2
Compresser plusieurs fichiers à la fois
L'outil de compression de fichiers bz2 (commande linux bzip2) peut compresser plusieurs fichiers à la fois. Pour ce faire, utilisez la commande ci-dessous.
$ bzip2 myfile.txt myfile1.txt myfile2.txt myfile3.txt # Compress multiple files at once
Sortie :
$ ls myfile1.txt.bz2 myfile2.txt.bz2 myfile3.txt.bz2 myfile.txt.bz2
Vérifier l'intégrité d'un fichier spécifié
Commande linux bzip2 avec l'argument -t vérifie l'intégrité d'un fichier bz2 spécifié. Intégrité dans le sens où le fichier bz2 est un fichier valide ou non. Vous pouvez le faire en utilisant la commande ci-dessous. Si le fichier est valide, vous n'obtiendrez aucune sortie.
$ bzip2 -t myfile.txt.bz2 # Check the Integrity of the bz2 file
Mais si le fichier bz2 n'est pas un fichier valide, vous obtiendrez une erreur. Pour le prouver, créons un fichier bzip2 à l'aide de la commande touch, puis vérifions son intégrité.
$ touch myfile.txt.bz2
$ bzip2 -t myfile.txt.bz2 bzip2: myfile.txt.bz2: file ends unexpectedly
Vous pouvez utiliser le "bzip2recover ” programme pour tenter de récupérer des données à partir de sections intactes de fichiers corrompus. Comme vous pouvez le voir ci-dessus, nous avons eu l'erreur car nous n'avons pas créé ce fichier à l'aide de la commande linux bzip2, ce n'est donc pas un fichier bz2 valide.
Décompresser/extraire/décompresser le fichier bz2
La commande bzip2 avec l'argument -d décompressera le fichier bzip2.
$ bzip2 -d myfile.txt.bz2 # Uncompress a file
Sortie :
$ ls myfile.txt
Vous pouvez également utiliser la commande bunzip2 pour décompresser le fichier bz2. Reportez-vous à la commande ci-dessous.
$ bunzip2 myfile.txt.bz2
Sortie :
$ ls myfile.txt
Vérifier le contenu d'un fichier compressé bz2 à l'aide de la commande bzcat
Vous pouvez vérifier le contenu d'un fichier compressé sans l'extraire. Pour ce faire, nous devons utiliser la commande bzcat. Reportez-vous à la commande ci-dessous.
$ bzcat myfile.txt.bz2 # Check content of a Compressed file Welcome to thegeekdiary.com
Compresser un fichier avec force
Commande bzip2 avec l'argument -f va créer un fichier bz2 avec force. Reportez-vous à la commande ci-dessous.
$ bzip2 -f myfile.txt # Compress a file forcefully
$ ls myfile.txt.bz2
Compresser un répertoire avec l'outil de compression de fichiers bz2
En utilisant la seule commande linux bzip2, nous ne pouvons pas compresser un répertoire, mais la commande bzip2 avec la commande tar peut compresser un répertoire. Utilisez la commande ci-dessous pour faire la même chose.
$ tar -cjvf data.tar.bz2 data/ # Compress a Directory data/ data/myfile3.txt data/myfile2.txt data/myfile1.txt
Sortie :
$ ls data data.tar.bz2
Ici l'argument -j est pour la compression bzip2.
Niveau de compression
Il y a 9 niveaux de compression disponibles dans chaque outil de compression. Les niveaux sont 1,2…9. Ici, je vais vous montrer deux niveaux. c'est-à-dire Niveau 1 et Niveau 9.
Le niveau 1 donne une sortie de compression rapide. Reportez-vous à la commande ci-dessous.
$ bzip2 -1 myfile.txt # 1 for Fast Compression
Le niveau 9 donne la meilleure sortie de compression. Reportez-vous à la commande ci-dessous.
$ bzip2 -9 myfile.txt # 9 for Best Compression
Vérifiez la version de la licence et du package de la commande Linux bzip2
Utilisez la commande bzip2 avec l'argument -L pour vérifier la version de la licence et du package de l'outil de compression de fichiers bz2.
$ bzip2 -L # Check Version & License bzip2, a block-sorting file compressor. Version 1.0.6, 6-Sept-2010. Copyright (C) 1996-2010 by Julian Seward. This program is free software; you can redistribute it and/or modify it under the terms set out in the LICENSE file, which is included in the bzip2-1.0.6 source distribution. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file for more details.
Pour plus d'aide et d'informations sur la commande Linux bzip2, vous pouvez utiliser la commande ci-dessous.
$ man bzip2 # Access bzip2 manual page