วิธีการใช้ "bzip2" ในการบีบอัดไฟล์

สิ่งหนึ่งที่คุณทุกคนรู้เกี่ยวกับลีนุกซ์ก็คือมีความหลากหลายมากมาย มีหลายร้อยลินุกซ์กระจายมีหลายสิบเดสก์ทอปสภาพแวดล้อมห้องชุดสำนักงานชุดกราฟิกและแพคเกจเสียง

อีกส่วนหนึ่งที่ Linux มีความหลากหลายคือเมื่อมีการบีบอัดไฟล์

ผู้ใช้ Windows จะทราบไฟล์ zip อยู่แล้วดังนั้นจึงจะมีการใช้คำสั่ง " zip " และ " unzip " เพื่อบีบอัดและขยายไฟล์ในรูปแบบ "zip"

อีกวิธีหนึ่งสำหรับการบีบอัดไฟล์คือการใช้ คำสั่ง "gzip" และเพื่อขยายไฟล์ที่มีนามสกุล "gz" คุณสามารถใช้คำสั่ง "gunzip" ได้

ในคู่มือนี้ฉันจะแสดงคำสั่งบีบอัดอีกชื่อว่า "bzip2"

ใช้ & # 34; bzip2 & # 34; เหนือ & # 34; gzip & # 34;

คำสั่ง "gzip" ใช้วิธีการบีบอัด LZ77 เครื่องมือบีบอัด "bzip2" ใช้อัลกอริธึม "Burrows-Wheeler"

คุณควรใช้วิธีใดในการบีบอัดไฟล์

หากคุณเข้าสู่หน้านี้คุณจะเห็นว่าทั้งสองวิธีการบีบอัดได้รับการจับคู่เคียงข้างกัน

การทดสอบรันคำสั่งแต่ละครั้งโดยใช้การตั้งค่าการบีบอัดเริ่มต้นและคุณจะเห็นว่าคำสั่ง "bzip2" ออกมาด้านบนเมื่อต้องการลดขนาดไฟล์

อย่างไรก็ตามหากคุณดูเวลาที่ใช้ในการบีบอัดไฟล์จะต้องใช้เวลานานกว่านี้อีก

เป็นมูลค่าที่ชี้คอลัมน์ที่ 3 ในแผนภูมิซึ่งมีข้อความว่า "lzmash" นี่เทียบเท่ากับการรันคำสั่ง "gzip" ด้วยระดับการบีบอัดที่ตั้งไว้ที่ "-9" หรือใส่เป็นภาษาอังกฤษ "บีบอัดข้อมูลส่วนใหญ่"

คำสั่ง "lzmash" ใช้เวลานานกว่าคำสั่ง "gzip" โดยค่าเริ่มต้น แต่ไฟล์จะลดลงมากและมีขนาดเล็กกว่า "bzip2" เทียบเท่า นอกจากนี้ยังมีข้อสังเกตว่าต้องใช้เวลาน้อยลง

การตัดสินใจของคุณจะเป็นวิธีที่คุณต้องการบีบอัดไฟล์โดยและระยะเวลาที่คุณยินดีที่จะรอให้มันเกิดขึ้น

ไม่ว่าจะด้วยวิธีใดคำสั่ง "gzip" จะดีกว่าเล็กน้อยในทั้งสองกรณี

การบีบอัดไฟล์โดยใช้ & # 34; bzip2 & # 34;

เมื่อต้องการบีบอัดไฟล์โดยใช้รูปแบบ "bzip2" ให้เรียกใช้คำสั่งต่อไปนี้:

ชื่อไฟล์ bzip2

ไฟล์จะได้รับการบีบอัดและจะมีนามสกุลเป็น ".bz2"

"bzip2" จะลองและบีบอัดไฟล์แม้ว่าไฟล์จะมีขนาดใหญ่ขึ้น ซึ่งอาจเกิดขึ้นได้เมื่อคุณบีบอัดไฟล์ที่บีบอัดไว้แล้ว

ถ้าคุณพยายามบีบอัดไฟล์ซึ่งจะทำให้ไฟล์ที่มีชื่อเดียวกับไฟล์บีบอัดที่มีอยู่จะมีข้อผิดพลาดเกิดขึ้น

ตัวอย่างเช่นถ้าคุณมีไฟล์ที่เรียกว่า "file1" และโฟลเดอร์มีไฟล์ที่เรียกว่า "file1.bz2" อยู่แล้วเมื่อเรียกใช้คำสั่ง "bzip" คุณจะเห็นผลลัพธ์ต่อไปนี้:

bzip2: ไฟล์ output file1.bz2 มีอยู่แล้ว

วิธีการขยายขนาดไฟล์

มีหลายวิธีในการขยายขนาดไฟล์ที่มีส่วนขยาย "bz2"

คุณสามารถใช้คำสั่ง "bzip2" ดังต่อไปนี้

bzip2 -d filename.bz2

ซึ่งจะขยายขนาดไฟล์และลบนามสกุล "bz2" ออก

ถ้าโดยการคลายแฟ้มจะทำให้ไฟล์ที่มีชื่อเดียวกันถูกเขียนทับคุณจะเห็นข้อผิดพลาดต่อไปนี้:

bzip2: ชื่อแฟ้มผลลัพธ์มีอยู่แล้ว

วิธีที่ดีกว่าในการขยายขนาดไฟล์ด้วยส่วนขยาย "bz2" คือการใช้คำสั่ง "bunzip2" ด้วยคำสั่งนี้คุณไม่จำเป็นต้องระบุสวิตช์ใด ๆ ตามที่แสดงด้านล่าง:

bunzip2 filename.bz2

คำสั่ง "bunzip2" จะทำงานเหมือนกับคำสั่ง "bzip2" ด้วยสวิตช์ลบ d (-d)

คำสั่ง "bunzip2" สามารถดึงไฟล์ที่ถูกต้องที่ถูกบีบอัดโดยใช้ "bzip" หรือ "bzip2" เช่นเดียวกับการขยายไฟล์ธรรมดาก็สามารถขยายไฟล์ tar ที่บีบอัดโดยใช้คำสั่ง "bzip2"

โดยค่าเริ่มต้นไฟล์ tar ที่บีบอัดโดยใช้คำสั่ง "bzip2" จะมีนามสกุลเป็น ".tbz2" เมื่อคุณขยายขนาดไฟล์โดยใช้คำสั่ง "bunzip2" ชื่อไฟล์จะกลายเป็น "filename.tar"

หากคุณมีไฟล์ที่ถูกต้องซึ่งบีบอัดด้วย "bzip2" แต่มีนามสกุลที่แตกต่างจาก "bzip2" จะขยายไฟล์ แต่จะเพิ่มส่วนขยาย ".out" ที่ท้ายไฟล์ ตัวอย่างเช่น "myfile.myf" จะกลายเป็น "myfile.out"

วิธีบังคับให้ไฟล์บีบอัด

ถ้าคุณต้องการให้คำสั่ง "bzip2" บีบอัดไฟล์โดยไม่คำนึงว่าไฟล์ที่มีนามสกุล "bz2" อยู่แล้วหรือไม่คุณสามารถใช้คำสั่งต่อไปนี้:

bzip2 -f myfile

ถ้าคุณมีไฟล์ชื่อ "myfile" และอีกชื่อหนึ่งคือ "myfile.bz2" ไฟล์ "myfile.bz2" จะถูกเขียนทับเมื่อ "myfile" ถูกบีบอัด

วิธีการเก็บทั้งสองไฟล์

ถ้าคุณต้องการเก็บไฟล์ที่คุณกำลังบีบอัดไว้และไฟล์บีบอัดคุณสามารถใช้คำสั่งต่อไปนี้:

bzip2 -k myfile

นี้จะเก็บไฟล์ "myfile" แต่จะบีบอัดและสร้างไฟล์ "myfile.bz2"

นอกจากนี้คุณยังสามารถใช้สวิตช์ minus k (-k) พร้อมกับคำสั่ง "bunzip2" เพื่อเก็บไฟล์บีบอัดและไฟล์ที่ไม่มีการบีบอัดในขณะที่คลายไฟล์

ทดสอบความถูกต้องของ A & # 34; bz2 & # 34; ไฟล์

คุณสามารถทดสอบว่าไฟล์ถูกบีบอัดด้วยกลไกการบีบอัด "bzip2" โดยใช้คำสั่งต่อไปนี้:

bzip2 -t filename.bz2

ถ้าไฟล์เป็นไฟล์ที่ถูกต้องแล้วจะไม่มีการส่งคืนผลลัพธ์ แต่ถ้าไฟล์ไม่ถูกต้องคุณจะได้รับข้อความว่า

ใช้หน่วยความจำน้อยลงเมื่อบีบอัดไฟล์

ถ้าคำสั่ง "bzip2" ใช้แหล่งข้อมูลมากเกินไปในขณะที่บีบอัดไฟล์คุณสามารถลดผลกระทบโดยการระบุสวิตช์ minus s (-s) ดังนี้:

bzip2 -s filename.bz2

โปรดทราบว่าการบีบอัดไฟล์โดยใช้สวิตช์นี้จะใช้เวลานานกว่านี้

ดูข้อมูลเพิ่มเติมเมื่อบีบอัดไฟล์

โดยค่าเริ่มต้นเมื่อคุณเรียกใช้คำสั่ง "bzip2" หรือ "bunzip2" คุณไม่ได้รับผลลัพธ์ใด ๆ และไฟล์ใหม่เพิ่งปรากฏขึ้น

ถ้าคุณต้องการทราบสิ่งที่เกิดขึ้นเมื่อคุณบีบอัดหรือขยายขนาดไฟล์คุณจะได้รับ เอาต์พุต verbose เพิ่มเติมโดยระบุสวิตช์ v v (-v) ดังนี้:

ชื่อไฟล์ bzip2 -v

ผลลัพธ์จะปรากฏดังนี้:

ชื่อไฟล์: 1.172: 1 6.872 bits / byte 14.66% save 50341 in 42961 out

ส่วนที่สำคัญคือเปอร์เซ็นต์ที่บันทึกไว้ขนาดของอินพุตและขนาดเอาท์พุท

กู้คืนไฟล์เสีย

หากคุณมีไฟล์ "bz2" เสียโปรแกรมจะใช้เพื่อกู้คืนข้อมูลดังต่อไปนี้:

bzip2recover filename.bz2