Tôi có một tập tin như: filename.bz2
Tôi cần giải nén.
Tôi đã thử lệnh: tar xvjf filename.tar.bz2
nhưng nó không hoạt động vì tệp không phải là tar
tệp.
Làm thế nào để tôi giải nén tập tin này?
Tôi có một tập tin như: filename.bz2
Tôi cần giải nén.
Tôi đã thử lệnh: tar xvjf filename.tar.bz2
nhưng nó không hoạt động vì tệp không phải là tar
tệp.
Làm thế nào để tôi giải nén tập tin này?
Câu trả lời:
Hãy thử như sau:
bzip2 -d filename.bz2
Lưu ý rằng lệnh này sẽ không bảo toàn tệp lưu trữ gốc.
Để giữ lại kho lưu trữ ban đầu, hãy thêm -k
tùy chọn:
bzip2 -dk filename.bz2
bzip2 -d vim-8.0.tar.bz2
, kết quả đó vim-8.0.tar
. Tôi không thể nhập cái này.
tar -x vim-8.0.tar
. Ban đầu bạn có thể đã sử dụng tar -xjvf vim-8.0.tar.bz2
.
tar -xf vim-8.0.tar
Để giải thích thêm một chút, một tệp có thể được nén bằng bzip2
:
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
tập tin sử dụng bunzip
, khi giải nén tar.bz2
tập tin sử dụng tar xjvf
.
tar xjf filename.tar.bz2
. Việc v
chỉ thêm đầu ra dài dòng. 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 chắc chắn thử chạy nó-
tar xf
phải đủ với biến thể BSD - j
cờ chỉ được sử dụng khi nén
Sử dụng lệnh bunzip2
(hoặc bzip2 -d
) để giải nén tệp. Để biết thêm thông tin xem trang người đàn ông này ,
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 tin đ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 tin. Nó sẽ tự động xác định có bao nhiêu chủ đề nó sẽ sử dụng. Để chỉ định số lượng chủ đề chính xác mà bạn muốn sử dụng, hãy sử dụng -n
tham 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 một thư mục:
tar -c -I lbzip2 -f file.tar.bz2 folder_name
Để giải nén một 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ố lựa chọn thay thế để giải nén một .bz2
tập tin đa luồng:
sudo apt-get install pbzip2
pbzip2 -d my_file.bz2
mpibzip2
: được thiết kế để sử dụng trên các máy cụm.
Nếu bạn cần một số .bz2
tệp lớn để thử nghiệm: https://dumps.wikidia.org/mirrors.html
Ví dụ: ( .bz2
tệp 14 GB , không nén 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/ đã làm điểm chuẩn:
Để 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 :
bzip2 -dc my_file.tar.bz2 | tar xvf -
làm việc cho tôi trên cygwin
bzip2 -d my_file.tar.bz2 ; tar xvf my_file.tar
bzip2 -dc my_file.tar.bz2 | tar xv
tức là không cần sử dụng tùy chọn -f và dấu '-' tương ứng sau nó 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ý.
tar
kho lưu trữ.