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?

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

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.


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 ,


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


3
bzip2 -dc my_file.tar.bz2 | tar xvf -

a travaillé pour moi sur cygwin


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.

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.