Câu hỏi Cách giải nén tệp .bz2


Tôi có một tệp dưới dạng: filename.bz2 Tôi cần phải giải nén.

Tôi đã thử lệnh: tar xvjf filename.tar.bz2nhưng nó không hoạt động vì tập tin không phải là tar tập tin.

Làm cách nào để giải nén tệp này?


312
2017-09-28 19:40


gốc




Các câu trả lời:


Hãy thử những điều sau đây:

bzip2 -d filename.bz2

Lưu ý rằng lệnh này sẽ không lưu giữ tệp lưu trữ gốc.

Để giữ nguyên bản lưu trữ gốc, hãy thêm -k Tùy chọn:

bzip2 -dk filename.bz2

413
2017-09-28 19:42



Bạn cũng có thể sử dụng bunzip2, mặc định là dùng tùy chọn -d (uncompress). - RonaldB
@LewisDiamond Tôi đã chạy bzip2 -d vim-8.0.tar.bz2, kết quả đó vim-8.0.tar. Tôi không thể vào được. - alhelal
@alhelal đó là bởi vì nó là một tập tin .tar.bz2. Bạn giải nén tarball, bạn còn lại với tarbal giải nén. Giải nén nó bằng tar -x vim-8.0.tar. Ban đầu bạn có thể đã sử dụng tar -xjvf vim-8.0.tar.bz2. - Lewis Diamond
Một sửa đổi nhỏ để bình luận của Lewis, tar cũng cần -f (ít nhất là trên Raspbian Wheezy) như sau tar -xf vim-8.0.tar - JulianHarty


Chỉ cần giải thích thêm một chút, một tệp có thể được nén với bzip2 do đó:

bzip2 myfile.txt

tar chỉ được yêu cầu khi nén nhiều tệp:

tar cvjf myfile.tar.bz *.txt

Do đó, khi giải nén một .bz2 sử dụng tập tin bunzip, khi giải nén một tar.bz2 sử dụng tập tin tar xjvf.


59
2017-09-28 19:49



Lời khuyên tuyệt vời về xjvf, vừa cứu tôi. Cảm ơn! - Edgar Aroutiounian
Bạn chỉ có thể sử dụng tar xjf filename.tar.bz2. Các v chỉ cần thêm đầu ra tiết. Giữ thiết bị đầu cuối của bạn sạch sẽ! Tôi cũng gặp vấn đề khi chạy tar -xjf, vì vậy hãy thử chạy nó sans - - MrOodles
tar xf phải đủ với biến thể BSD - j cờ chỉ được sử dụng khi nén - Mark Fox


Sử dụng bunzip2 (hoặc là bzip2 -d) để giải nén tệp. Để biết thêm thông tin, hãy xem trang người đàn ông,


21
2017-09-28 19:42





bzip2 là đơn luồng, có nghĩa là sẽ mất nhiều thời gian để giải nén một tệp lớn.

Để giải nén một .bz2 tệp đa luồng, bạn có thể sử dụng chương trình nguồn mở miễn phí lbzip2:

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

-d cho biết bạn muốn giải nén tệp. Nó sẽ tự động xác định có bao nhiêu chủ đề nó sẽ sử dụng. Để chỉ định chính xác số lượng chủ đề bạn muốn sử dụng, hãy sử dụng -n thông số, ví dụ:

lbzip2 -d -n 32 my_file.bz2

Một vài lệnh hữu ích hơn với lbzip2:

Để nén thư mục:

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

Để giải nén thư mục:

 tar -I lbzip2 -xvf file.tar.bz2

Thông số:

-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

Một số giải pháp thay thế để giải nén .bz2 tập tin đa luồng:

pbzip2:

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

mpibzip2: được thiết kế để sử dụng trên các máy nhóm.


Nếu bạn cần một số lớn .bz2 tệp để thử nghiệm với: https://dumps.wikimedia.org/mirrors.html

Ví dụ: (14 GB .bz2 tập tin, 200 GB không nén):

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/ đã làm điểm chuẩn:

enter image description here


Để biết thêm thông tin về các tham số cho lbzip2: http://explainshell.com/explain?cmd=lbzip2+-d+-n+32+my_file.bz2 :

enter image description here


6
2018-01-25 18:50





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

làm việc cho tôi trên cygwin


3
2018-05-21 11:12



Sẽ rất hữu ích nếu bạn có thể thêm một vài câu vào câu trả lời của bạn để giải thích những gì nó làm. - fixer1234
Tùy chọn @ fixer1234 '-c' sao chép đầu ra được giải nén thành STDOUT, sau đó được chuyển đến tiện ích tar và được trình bày dưới dạng tên tệp bằng cách sử dụng '-' để bạn có thể đơn giản hóa nó như sau: bzip2 -d my_file.tar.bz2 ; tar xvf my_file.tar - sactiw
Tôi tin rằng ngay cả điều này cũng có tác dụng bzip2 -dc my_file.tar.bz2 | tar xv tức là không cần sử dụng tùy chọn -f và ký hiệu '-' tương ứng sau đó vì tar có thể đọc trực tiếp từ STDOUT thông qua toán tử đường ống. Ngoài ra, vui lòng thả tùy chọn -v nếu bạn không muốn liệt kê các tệp đang được xử lý. - sactiw
Điều này không giúp được gì, vì áp phích ban đầu đã đề cập rằng nó không phải là tar lưu trữ. - icedwater


  1. Đi đến https://cloudconvert.com.
  2. Tải tệp lên.
  3. Chuyển đổi nó thành một tập tin .tar.
  4. Tải xuống.
  5. Giải nén nó từ đó, trong terminal của bạn.

-3
2018-01-14 13:57



Không phù hợp với các tệp thực sự lớn! - narendranathjoshi
Chúng tôi là những siêu sao. Chúng tôi muốn một giải pháp dựa trên thiết bị đầu cuối. - noɥʇʎԀʎzɐɹƆ