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?

Juri A
sumber

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
Lewis Diamond
sumber
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.

Benj
sumber
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 ,

Levon
sumber
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

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

bekerja untuk saya di cygwin

Vishal
sumber
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
-4
  1. Pergi ke https://cloudconvert.com .
  2. Unggah file.
  3. Konversikan menjadi file .tar.
  4. Unduh itu.
  5. Ekstrak dari sana, di terminal Anda.
Tuan de Santos
sumber
7
Tidak cocok untuk file yang sangat besar!
narendranathjoshi
9
Kita adalah pengguna super. Kami menginginkan solusi berbasis terminal.
noɥʇʎԀʎzɐɹƆ
@Pak. de Santos ... dan dengan demikian menyerahkan kontrol atas data Anda. Kamu tidak bisa serius.
dirdi