สิ่งหนึ่งที่คุณทุกคนรู้เกี่ยวกับลีนุกซ์ก็คือมีความหลากหลายมากมาย มีหลายร้อยลินุกซ์กระจายมีหลายสิบเดสก์ทอปสภาพแวดล้อมห้องชุดสำนักงานชุดกราฟิกและแพคเกจเสียง
อีกส่วนหนึ่งที่ Linux มีความหลากหลายคือเมื่อมีการบีบอัดไฟล์
ผู้ใช้ Windows จะทราบไฟล์ zip อยู่แล้วดังนั้นจึงจะมีการใช้คำสั่ง "zip" และ "unzip" เพื่อบีบอัดและขยายไฟล์ในรูปแบบ "zip"
อีกวิธีหนึ่งสำหรับการบีบอัดไฟล์คือการใช้คำสั่ง "gzip" และเพื่อขยายไฟล์ที่มีนามสกุล "gz" คุณสามารถใช้คำสั่ง "gunzip" ได้
ในคู่มือนี้ฉันจะแสดงคำสั่งบีบอัดอีกชื่อว่า "bzip2"
ใช้ 'bzip2' มากกว่า 'gzip' ทำไม?
คำสั่ง "gzip" ใช้วิธีการบีบอัด LZ77 เครื่องมือบีบอัด "bzip2" ใช้อัลกอริธึม "Burrows-Wheeler"
คุณควรใช้วิธีใดในการบีบอัดไฟล์
การทดสอบรันคำสั่งแต่ละคำโดยใช้การตั้งค่าการบีบอัดเริ่มต้นและคุณจะเห็นว่าคำสั่ง "bzip2" ออกมาด้านบนเมื่อต้องการลดขนาดไฟล์
อย่างไรก็ตามหากคุณดูเวลาที่ใช้ในการบีบอัดไฟล์จะต้องใช้เวลานานกว่านี้อีก
ควรชี้คอลัมน์ที่ 3 ในแผนภูมิซึ่งมีข้อความ "lzmash" นี่เทียบเท่ากับการรันคำสั่ง "gzip" ด้วยระดับการบีบอัดที่ตั้งไว้ที่ "-9" หรือใส่เป็นภาษาอังกฤษ "บีบอัดข้อมูลมากที่สุด"
คำสั่ง "lzmash" ใช้เวลานานกว่าคำสั่ง "gzip" โดยค่าเริ่มต้น แต่ไฟล์จะลดลงมากและมีขนาดเล็กกว่า "bzip2" เทียบเท่า นอกจากนี้ยังมีข้อสังเกตว่าต้องใช้เวลาน้อยลง
การตัดสินใจของคุณจะเป็นวิธีที่คุณต้องการบีบอัดไฟล์โดยและระยะเวลาที่คุณยินดีที่จะรอให้มันเกิดขึ้น
ไม่ว่าจะด้วยวิธีใดคำสั่ง "gzip" จะดีกว่าเล็กน้อยในทั้งสองกรณี
บีบอัดไฟล์โดยใช้ 'bzip2'
เมื่อต้องการบีบอัดไฟล์โดยใช้รูปแบบ "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" เพื่อเก็บไฟล์บีบอัดและไฟล์ที่ไม่มีการบีบอัดในขณะที่คลายไฟล์ คุณสามารถทดสอบว่าไฟล์ถูกบีบอัดด้วยกลไกการบีบอัด "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 วิธีการขยายขนาดไฟล์
วิธีบังคับให้ไฟล์บีบอัด
วิธีการเก็บทั้งสองไฟล์
ทดสอบความถูกต้องของไฟล์ "bz2"
ใช้หน่วยความจำน้อยลงเมื่อบีบอัดไฟล์
ดูข้อมูลเพิ่มเติมเมื่อบีบอัดไฟล์
กู้คืนไฟล์เสีย