วิธีขยายไฟล์. bz2


375

ฉันมีไฟล์เป็น: filename.bz2ฉันต้องการที่จะคลายการบีบอัด

ฉันลองใช้คำสั่ง: tar xvjf filename.tar.bz2แต่มันไม่ทำงานเพราะไฟล์ไม่ใช่tarไฟล์

ฉันจะขยายไฟล์นี้ได้อย่างไร?

คำตอบ:


492

ลองทำสิ่งต่อไปนี้:

bzip2 -d filename.bz2

โปรดทราบว่าคำสั่งนี้จะไม่เก็บไฟล์เก็บถาวรดั้งเดิมไว้

ในการเก็บรักษาต้นฉบับให้เพิ่ม-kตัวเลือก:

bzip2 -dk filename.bz2

3
คุณยังสามารถใช้ bunzip2 ซึ่งเป็นค่าเริ่มต้นที่จะใช้ตัวเลือก -d (uncompress)
RonaldB

2
@LewisDiamond ฉันวิ่งbzip2 -d vim-8.0.tar.bz2ผลลัพธ์vim-8.0.tarนั้น ฉันป้อนสิ่งนี้ไม่ได้
alhelal

4
@alhelal นั่นเป็นเพราะเป็นไฟล์. tar.bz2 คุณคลายซิป tarball คุณเหลือ tarball ที่คลายซิปไว้ 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

63

เพื่ออธิบายเพิ่มเติมเล็กน้อยไฟล์เดียวสามารถถูกบีบอัดด้วยbzip2ดังนี้:

bzip2 myfile.txt

tar จำเป็นเฉพาะเมื่อบีบอัดหลายไฟล์:

tar cvjf myfile.tar.bz *.txt

ดังนั้นเมื่อ uncompressing .bz2ใช้ไฟล์bunzipเมื่อ uncompressing ใช้ไฟล์tar.bz2tar xjvf


6
คำแนะนำที่ยอดเยี่ยมเกี่ยวกับ xjvf เพียงช่วยฉัน ขอบคุณ!
Edgar Aroutiounian

4
tar xjf filename.tar.bz2คุณก็สามารถใช้ vเพียงแค่เพิ่มการส่งออกอย่างละเอียด รักษาความสะอาดสถานีของคุณ! ฉันยังมีปัญหาในการทำงานtar -xjfดังนั้นโปรดลองใช้มันให้ดี-
MrOodles

1
tar xfควรจะเพียงพอกับตัวแปร BSD - jแฟล็กใช้เฉพาะเมื่อมีการบีบอัด
Mark Fox


11

bzip2 เป็นเธรดเดี่ยวซึ่งหมายความว่าจะใช้เวลานานในการขยายไฟล์ขนาดใหญ่

การบีบ.bz2ไฟล์ multithreadedly คุณสามารถใช้ฟรีโปรแกรมเปิดแหล่งที่มา 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

ตัวอย่างเช่น ( .bz2ไฟล์14 GB , ไม่ได้บีบอัด 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/ทำเกณฑ์มาตรฐาน:

ป้อนคำอธิบายรูปภาพที่นี่


สำหรับข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์สำหรับlbzip2: http://explainshell.com/explain?cmd=lbzip2+-d+-n+32+my_file.bz2 :

ป้อนคำอธิบายรูปภาพที่นี่


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

ทำงานให้ฉันใน cygwin


1
มันจะมีประโยชน์ถ้าคุณสามารถเพิ่มประโยคสองสามคำลงในคำตอบของคุณเพื่ออธิบายว่ามันทำอะไร
fixer1234

2
ตัวเลือก @ fixer1234 '-c' จะคัดลอกเอาต์พุตที่แตกไปยัง STDOUT ซึ่งจะถูกไพพ์ไปยังยูทิลิตี้ tar และแสดงเป็นชื่อไฟล์โดยใช้ '-' เพื่อให้คุณสามารถทำให้มันง่ายขึ้นเป็น: bzip2 -d my_file.tar.bz2 ; tar xvf my_file.tar
sactiw

1
ฉันเชื่อว่าสิ่งนี้ควรใช้งานได้bzip2 -dc my_file.tar.bz2 | tar xvเช่นไม่จำเป็นต้องใช้ตัวเลือก -f และเครื่องหมาย '-' หลังจากนั้นเพราะ tar สามารถอ่านโดยตรงจาก STDOUT ผ่านตัวดำเนินการไพพ์ได้ นอกจากนี้อย่าลังเลที่จะเลือกตัวเลือก -v หากคุณไม่ต้องการแสดงรายการไฟล์ที่กำลังถูกประมวลผล
sactiw

2
สิ่งนี้ไม่ได้ช่วยเนื่องจากโปสเตอร์ต้นฉบับพูดถึงแล้วว่าไม่ใช่tarไฟล์เก็บถาวร
icedwater

-4
  1. ไปที่https://cloudconvert.com
  2. อัพโหลดไฟล์
  3. แปลงเป็นไฟล์. tar
  4. ดาวน์โหลดได้.
  5. แยกมันออกจากที่นั่นในเทอร์มินัลของคุณ

7
ไม่เหมาะสำหรับไฟล์ที่มีขนาดใหญ่จริงๆ!
narendranathjoshi

9
เราเป็นผู้ใช้ระดับสูง เราต้องการโซลูชันที่ใช้เทอร์มินัล
noɥʇʎԀʎzɐɹƆ

@นาย. เดอซานโตส ... และให้การควบคุมข้อมูลของคุณ คุณไม่สามารถจริงจัง
dirdi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.