Comment décompresser un fichier .bz2

377

J'ai un fichier en tant que: filename.bz2j'ai besoin de décompresser.

J'ai essayé la commande:, tar xvjf filename.tar.bz2mais cela n'a pas fonctionné car le fichier n'est pas un tarfichier.

Comment décompresser ce fichier?

Jury A
la source

Réponses:

497

Essayez ce qui suit:

bzip2 -d filename.bz2

Notez que cette commande ne préservera pas le fichier d’archive original.

Pour conserver l’archive originale, ajoutez l’ -koption suivante:

bzip2 -dk filename.bz2
Lewis Diamond
la source
4
Vous pouvez également utiliser bunzip2, qui utilise par défaut l'option -d (décompresser).
RonaldB
2
@LewisDiamond j'ai couru bzip2 -d vim-8.0.tar.bz2, cela résulte vim-8.0.tar. Je ne pouvais pas y entrer.
Alhelal
4
@alhelal c'est parce que c'est un fichier .tar.bz2. Vous avez décompressé l'archive, vous vous retrouvez avec l'archive tarbalachée. Extrayez-le avec tar -x vim-8.0.tar. À l'origine, vous auriez pu utiliser tar -xjvf vim-8.0.tar.bz2.
Lewis Diamond
Une légère correction au commentaire de Lewis, tar a également besoin de -f (au moins sur Raspbian Wheezy) comme suittar -xf vim-8.0.tar
JulianHarty
66

Pour expliquer un peu plus loin, un seul fichier peut être compressé avec bzip2:

bzip2 myfile.txt

tar est nécessaire uniquement lors de la compression de plusieurs fichiers:

tar cvjf myfile.tar.bz *.txt

Par conséquent, lors de la décompression d'un .bz2fichier, utilisez bunzip, lors de la décompression d'un tar.bz2fichier tar xjvf.

Benj
la source
6
Excellent conseil sur le xjvf, vient de me sauver. Merci!
Edgar Aroutiounian
4
Vous pouvez simplement utiliser tar xjf filename.tar.bz2. La vajoute juste sortie verbeuse. Gardez votre terminal propre! J'ai aussi eu des problèmes de fonctionnement tar -xjf, alors assurez-vous de le faire sans le-
MrOodles
1
tar xfdevrait être suffisant avec la variante BSD - le jdrapeau n'est utilisé que lors de la compression
Mark Fox
20

Utilisez la commande bunzip2(ou bzip2 -d) pour décompresser le fichier. Pour plus d'informations, voir cette page de manuel ,

Levon
la source
Le lien est cassé Levon
Ankii
12

bzip2 est mono-threadé, ce qui signifie qu'il faudra beaucoup de temps pour décompresser un fichier volumineux.

Pour décompresser un .bz2fichier multithreadément, vous pouvez utiliser le programme gratuit et open source lbzip2:

sudo apt-get install lbzip2
lbzip2 -d my_file.bz2

-dindique que vous souhaitez décompresser le fichier. Cela déterminerait automatiquement le nombre de threads qu'il utilisera. Pour spécifier le nombre exact de threads que vous souhaitez utiliser, utilisez le -nparamètre, par exemple:

lbzip2 -d -n 32 my_file.bz2

Quelques commandes plus utiles avec lbzip2:

Pour compresser un dossier:

tar -c -I lbzip2 -f file.tar.bz2 folder_name

Pour décompresser un dossier:

 tar -I lbzip2 -xvf file.tar.bz2

Paramètres:

-I, --use-compress-program PROG
      filter through PROG (must accept -d)
-x, --extract, --get
      extract files from an archive
-v, --verbose
      verbosely list files processed
-f, --file ARCHIVE
      use archive file or device ARCHIVE

Quelques alternatives pour décompresser un .bz2fichier multithreadément:

pbzip2:

sudo apt-get install pbzip2
pbzip2 -d my_file.bz2

mpibzip2: conçu pour être utilisé sur des machines en cluster.


Si vous avez besoin .bz2d'expérimenter de gros fichiers: https://dumps.wikimedia.org/mirrors.html

Par exemple (un .bz2fichier de 14 Go , 200 Go non compressé):

wget http://dumps.wikimedia.your.org/wikidatawiki/20170120/wikidatawiki-20170120-pages-articles-multistream.xml.bz2 
lbzip2 -d -n 32 wikidatawiki-20170120-pages-articles-multistream.xml.bz2 

http://vbtechsupport.com/1614/ la référence:

entrez la description de l'image ici


Pour plus d'informations sur les paramètres pour lbzip2: http://explainshell.com/explain?cmd=lbzip2+-d+-n+32+my_file.bz2 :

entrez la description de l'image ici

Franck Dernoncourt
la source
3
bzip2 -dc my_file.tar.bz2 | tar xvf -

a travaillé pour moi sur cygwin

Vishal
la source
1
Il serait utile de pouvoir ajouter quelques phrases à votre réponse pour expliquer son rôle.
fix1234
2
@ l' option fixer1234 « -c » copie la sortie décompressé à STDOUT qui est ensuite acheminée à l' utilité de goudron et présenté comme nom de fichier en utilisant « - » afin que vous pouvez simplifier comme: bzip2 -d my_file.tar.bz2 ; tar xvf my_file.tar
sactiw
1
Je pense que même cela devrait fonctionner, bzip2 -dc my_file.tar.bz2 | tar xvc’est-à-dire qu’il n’est pas nécessaire d’utiliser l’option -f et le signe '-' correspondant après, car tar peut directement lire le contenu de STDOUT via l’opérateur de canal. En outre, n'hésitez pas à supprimer l'option -v si vous ne souhaitez pas répertorier les fichiers en cours de traitement.
mardi
2
Cela n'aide pas, puisque l'affiche originale a déjà mentionné que ce n'est pas une tararchive.
icedwater
-4
  1. Allez sur https://cloudconvert.com .
  2. Téléchargez le fichier.
  3. Convertissez-le en fichier .tar.
  4. Télécharge le.
  5. Extrayez-le de là, dans votre terminal.
M. de Santos
la source
7
Ne convient pas aux très gros fichiers!
narendranathjoshi
9
Nous sommes des superutilisateurs. Nous voulons une solution basée sur un terminal.
nozɐɹƆ
@Monsieur. de Santos ... et ainsi abandonner le contrôle de vos données. Tu ne peux pas être sérieux.
Dirdi le