題 如何解壓縮.bz2文件


我有一個文件: filename.bz2 我需要解壓縮。

我試過這個命令: tar xvjf filename.tar.bz2,但它沒有工作,因為該文件不是 tar 文件。

如何解壓縮此文件?


318
2017-09-28 19:40


起源




答案:


請嘗試以下方法:

bzip2 -d filename.bz2

請注意,此命令不會保留原始存檔文件。

要保留原始存檔,請添加 -k 選項:

bzip2 -dk filename.bz2

429
2017-09-28 19:42



您還可以使用bunzip2,默認使用-d(解壓縮)選項。 - RonaldB
@LewisDiamond我跑了 bzip2 -d vim-8.0.tar.bz2,結果 vim-8.0.tar。我無法輸入。 - alhelal
@alhelal那是因為它是.tar.bz2文件。你解壓縮了tarball,你留下了拉開拉鍊的tarbal。用它提取 tar -x vim-8.0.tar。本來你可以使用 tar -xjvf vim-8.0.tar.bz2。 - Lewis Diamond
對劉易斯評論的略微修正,焦油也需要-f(至少在Raspbian Wheezy上)如下 tar -xf vim-8.0.tar - JulianHarty


為了進一步解釋,可以使用壓縮單個文件 bzip2 從而:

bzip2 myfile.txt

tar 僅在壓縮多個文件時需要:

tar cvjf myfile.tar.bz *.txt

因此,當解壓縮時 .bz2 文件使用 bunzip,解壓縮時 tar.bz2 文件使用 tar xjvf


59
2017-09-28 19:49



關於xjvf的優秀建議,只是救了我。謝謝! - Edgar Aroutiounian
你可以使用 tar xjf filename.tar.bz2。該 v 只是添加了詳細的輸出。保持終端清潔!我也遇到了問題 tar -xjf,所以一定要嘗試運行它沒有 - - MrOodles
tar xf 應該足夠的BSD變體 - j flag僅在壓縮時使用 - Mark Fox


使用 bunzip2 (要么 bzip2 -d)命令解壓縮文件。有關更多信息,請參閱此 手冊頁


20
2017-09-28 19:42





bzip2 是單線程的,這意味著解壓縮大文件需要很長時間。

解壓縮 .bz2 文件多線程,您可以使用免費的開源程序 lbzip2

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

-d 表示您希望解壓縮文件。它會自動確定它將使用多少個線程。要指定要使用的確切線程數,請使用 -n 參數,例如:

lbzip2 -d -n 32 my_file.bz2

一些更有用的命令 lbzip2

要壓縮文件夾:

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

要解壓縮文件夾:

 tar -I lbzip2 -xvf file.tar.bz2

參數:

-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

解壓縮的一些替代方案 .bz2 文件多線程:

pbzip2

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

mpibzip2:旨在用於群集計算機上。


如果你需要一些大的 .bz2 要試驗的文件: https://dumps.wikimedia.org/mirrors.html

例如(14 GB .bz2 文件,200 GB未壓縮):

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/ 做了基準測試:

enter image description here


有關參數的更多信息,請參閱 lbzip2http://explainshell.com/explain?cmd=lbzip2+-d+-n+32+my_file.bz2 :

enter image description here


7
2018-01-25 18:50





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

在cygwin為我工作


3
2018-05-21 11:12



如果您可以在答案中添加幾個句子來解釋它的作用,將會很有幫助。 - fixer1234
@ fixer1234'-c'選項將解壓縮的輸出複製到STDOUT,然後通過管道輸出到tar實用程序並使用' - '顯示為文件名,因此您可以將其簡化為: bzip2 -d my_file.tar.bz2 ; tar xvf my_file.tar - sactiw
我相信即使這應該有效 bzip2 -dc my_file.tar.bz2 | tar xv 即不需要在其後使用-f選項和相應的“ - ”符號,因為tar可以通過管道運算符直接從STDOUT讀取。此外,如果您不想列出正在處理的文件,請隨意刪除-v選項。 - sactiw
這沒有用,因為原始海報已經提到它不是一個 tar 存檔。 - icedwater


  1. https://cloudconvert.com
  2. 上傳文件。
  3. 將其轉換為.tar文件。
  4. 下載它。
  5. 從終端中提取它。

-3
2018-01-14 13:57



不適合真正的大文件! - narendranathjoshi
我們是超級用戶。我們想要一個基於終端的解決方案。 - noɥʇʎԀʎzɐɹƆ