Cara mendekompres file .bz2


377

Saya memiliki file sebagai: filename.bz2Saya perlu mendekompresi.

Saya telah mencoba perintah:, tar xvjf filename.tar.bz2tetapi tidak berfungsi karena file tersebut bukan tarfile.

Bagaimana cara saya mendekompres file ini?

Jawaban:


497

Coba yang berikut ini:

bzip2 -d filename.bz2

Perhatikan, bahwa perintah ini tidak akan menyimpan file arsip asli.

Untuk menyimpan arsip asli, tambahkan -kopsi:

bzip2 -dk filename.bz2

4
Anda juga dapat menggunakan bunzip2, yang secara default menggunakan opsi -d (uncompress).
RonaldB

2
@LewisDiamond saya berlari bzip2 -d vim-8.0.tar.bz2, hasilnya vim-8.0.tar. Saya tidak bisa masuk ini.
alhelal

4
@ alhelal itu karena itu file .tar.bz2. Anda membuka ritsleting tarbal, Anda tinggal dengan tarbal ritsleting. Ekstrak dengan tar -x vim-8.0.tar. Awalnya Anda bisa menggunakannya tar -xjvf vim-8.0.tar.bz2.
Lewis Diamond

Sedikit koreksi terhadap komentar Lewis, tar juga perlu -f (setidaknya pada Raspbian Wheezy) sebagai berikuttar -xf vim-8.0.tar
JulianHarty

65

Untuk menjelaskan sedikit lebih jauh, satu file dapat dikompresi dengan bzip2demikian:

bzip2 myfile.txt

tar hanya diperlukan saat mengompresi banyak file:

tar cvjf myfile.tar.bz *.txt

Oleh karena itu, saat membuka kompresi .bz2penggunaan file bunzip, saat membuka kompresi tar.bz2penggunaan file tar xjvf.


6
Saran bagus tentang xjvf, baru saja menyelamatkan saya. Terima kasih!
Edgar Aroutiounian

4
Anda bisa menggunakannya tar xjf filename.tar.bz2. The vhanya menambahkan verbose output. Jaga terminal Anda tetap bersih! Saya juga memiliki masalah dalam menjalankan tar -xjf, jadi pastikan untuk mencoba menjalankannya tanpa-
MrOodles

1
tar xfharus cukup dengan varian BSD - jbendera hanya digunakan saat mengompresi
Mark Fox

20

Gunakan perintah bunzip2(atau bzip2 -d) untuk mendekompres file. Untuk informasi lebih lanjut lihat halaman manual ini ,


Tautan rusak Levon
ankii

12

bzip2 adalah mono-threaded, yang berarti akan membutuhkan waktu lama untuk mendekompresi file besar.

Untuk mendekompres .bz2file dengan multithreadedly, Anda dapat menggunakan program open source gratis lbzip2:

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

-dmenunjukkan Anda ingin mendekompres file. Secara otomatis akan menentukan berapa banyak utas yang akan digunakan. Untuk menentukan jumlah persis utas yang ingin Anda gunakan, gunakan -nparameter, misalnya:

lbzip2 -d -n 32 my_file.bz2

Beberapa perintah yang lebih berguna dengan lbzip2:

Untuk mengompres folder:

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

Untuk membuka kompresi folder:

 tar -I lbzip2 -xvf file.tar.bz2

Parameter:

-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

Beberapa alternatif untuk mendekompresi .bz2file dengan multithreadedly:

pbzip2:

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

mpibzip2: dirancang untuk digunakan pada mesin cluster.


Jika Anda memerlukan beberapa .bz2file besar untuk bereksperimen dengan: https://dumps.wikimedia.org/mirrors.html

Misalnya ( .bz2file 14 GB , 200 GB tidak terkompresi):

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/ melakukan patokan:

masukkan deskripsi gambar di sini


Untuk informasi lebih lanjut mengenai parameter untuk lbzip2: http://explainshell.com/explain?cmd=lbzip2+-d+-n+32+my_file.bz2 :

masukkan deskripsi gambar di sini


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

bekerja untuk saya di cygwin


1
Akan sangat membantu jika Anda dapat menambahkan beberapa kalimat pada jawaban Anda untuk menjelaskan apa yang dilakukannya.
fixer1234

2
@ fixer1234 opsi '-c' menyalin output yang didekompresi ke STDOUT yang kemudian disalurkan ke utilitas tar dan disajikan sebagai nama file menggunakan '-' sehingga Anda dapat menyederhanakannya sebagai: bzip2 -d my_file.tar.bz2 ; tar xvf my_file.tar
sactiw

1
Saya percaya bahkan ini harus bekerja bzip2 -dc my_file.tar.bz2 | tar xvyaitu tidak perlu menggunakan opsi -f dan tanda '-' yang sesuai setelah itu karena tar dapat langsung membaca dari STDOUT melalui operator pipa. Juga, jangan ragu untuk menjatuhkan opsi -v jika Anda tidak ingin membuat daftar file yang sedang diproses.
sactiw

2
Ini tidak membantu, karena poster asli sudah menyebutkan bahwa itu bukan tararsip.
es

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.