Linux / Commande bunzip2 : restaurer un fichier .bz2 sans le supprimer
bunzip2 décompresse les fichiers .bz2 et correspond à bzip2 -d. Une décompression ordinaire remplace normalement le fichier compressé après réussite : utilisez -k pour garder le .bz2, ou -c pour envoyer le contenu vers une sortie de votre choix. Sur un fichier .tar.bz2, cette opération laisse une archive tar dont il faut ensuite extraire les membres.
Prévoir le nom du fichier restauré
bunzip2 [OPTIONS] FICHIER.bz2 [FICHIER.bz2 ...]
Pour data.csv.bz2, le nom habituel après décompression est data.csv. La commande bunzip2 data.csv.bz2 remplace normalement le .bz2 ; bunzip2 -k data.csv.bz2 conserve aussi le fichier compressé. Ce sont deux choix possibles, pas deux étapes à exécuter successivement sur la même entrée.
bunzip2 refuse normalement d’écraser une destination déjà présente. Vérifiez les deux fichiers et choisissez un nom ou un dossier libre plutôt que d’ajouter -f, qui peut autoriser un remplacement. Les suffixes .tbz2 et .tbz désignent habituellement une archive tar compressée : le nom restauré se termine alors par .tar. Consultez man bunzip2 pour votre installation.
Restaurer un petit exemple sans retirer le .bz2
Préparez dans Bash un dossier neuf, un texte de référence et une copie compressée dans un sous-dossier. Poursuivez uniquement si toute la préparation réussit :
demo=$(mktemp -d) &&
cd "$demo" &&
mkdir restore &&
printf 'alpha\nbeta\n' > reference.txt &&
bzip2 -c reference.txt > restore/note.txt.bz2 &&
printf 'Repertoire de travail : %s\n' "$demo"
Restez dans le même terminal et gardez le chemin affiché pour retrouver l’essai. La destination restore/note.txt n’existe pas encore :
bunzip2 -k restore/note.txt.bz2 &&
ls -l restore/note.txt restore/note.txt.bz2 &&
cmp reference.txt restore/note.txt &&
printf 'Restauration identique\n'
La liste doit contenir les deux noms, compressé et décompressé. cmp compare les octets avec reference.txt ; il est normalement silencieux et renvoie 0 s’ils sont identiques. Le message final n’apparaît donc qu’après réussite. Le fichier restauré contient alpha puis beta, chacun suivi d’un saut de ligne.
Pour choisir librement le nom au lieu de le déduire du suffixe :
bunzip2 -c restore/note.txt.bz2 > separate-note.txt &&
cmp reference.txt separate-note.txt
-c conserve ici le fichier compressé. Cependant, > est traité par le shell : une destination existante peut être tronquée avant le lancement de bunzip2. Utilisez un nom libre et jamais celui de l’entrée. En cas d’échec, une sortie partielle peut rester ; la présence de separate-note.txt seule ne prouve pas une restauration complète.
Lire un aperçu et tester l’ensemble du flux
Pour le petit texte de cet essai, vous pouvez afficher les premières lignes sans écrire de fichier :
bunzip2 -c restore/note.txt.bz2 | head -n 2
Le résultat attendu est :
alpha
beta
Réservez ce type d’affichage à un contenu textuel connu. Un aperçu ne vérifie pas forcément la fin d’un gros fichier : le lecteur du tube peut s’arrêter avant que la décompression soit complète. Pour contrôler le flux entier sans écrire le résultat, utilisez un test indépendant :
bunzip2 -t restore/note.txt.bz2 && printf 'Flux valide\n'
-t effectue une décompression d’essai puis jette le résultat. Un succès est généralement silencieux. Dans bzip2, les codes 0, 1, 2 et 3 correspondent respectivement à une fin normale, un problème d’environnement ou d’entrée-sortie, un flux corrompu et une erreur interne. Lisez les messages si le test échoue et recherchez une copie correcte auprès de la source.
L’intégrité du flux ne certifie pas son origine ou la version du document. Pour une vérification d’identité du contenu, comparez avec une référence fiable. La compression n’offre pas non plus de confidentialité.
Adapter la mémoire et reconnaître le format
| Option | Effet |
|---|---|
| -k | Conserver le fichier compressé. |
| -c | Envoyer les données restaurées sur la sortie standard. |
| -t | Tester le flux sans écrire de fichier restauré. |
| -v | Afficher davantage d’informations. |
| -s | Réduire la mémoire nécessaire à la décompression, au prix d’un traitement plus lent. |
| -f | Autoriser notamment l’écrasement d’une sortie existante ; à décider après examen. |
La taille de bloc est enregistrée lors de la compression : -1 à -9 ne permettent pas de la changer à la décompression. -s sert lorsque la mémoire disponible est la contrainte. Prévoyez aussi assez d’espace de sortie, qui peut être beaucoup plus grand que le .bz2. Les options et les règles de noms figurent dans le manuel officiel bzip2 et bunzip2.
bunzip2 n’est pas l’outil d’extraction des archives ZIP. Pour backup.tar.bz2, il retire la couche bzip2 et laisse backup.tar ; il ne répartit pas les fichiers internes. Le guide tar et de restauration dans un dossier vide explique comment inspecter puis extraire directement une archive .tar.bz2 avec tar.




