แม้ว่าจะเป็นหนึ่งในโซลูชันการเก็บถาวร/บีบอัดข้อมูลที่เร็วกว่า แต่ gzip ก็มีปัญหาเล็กน้อย:ไม่รองรับโปรเซสเซอร์/คอร์หลายตัว ดังนั้น หากคุณมีพีซีที่ค่อนข้างใหม่ เครื่องจะไม่ใช้ประโยชน์จากความสามารถของพีซี Pigz เป็นการใช้งาน gzip แบบมัลติเธรดที่ให้คุณบีบอัดไฟล์เป็นรูปแบบ zip ของ GNU ได้ในเวลาเพียงเสี้ยววินาที วิธีบีบอัดไฟล์ให้เร็วขึ้นด้วย pigz
การติดตั้ง
หากต้องการติดตั้ง pigz บน Ubuntu, Mint และรุ่นอื่นๆ ที่เข้ากันได้กับ Debian ให้ใช้:
sudo apt install pigz
บน Arch และ Manjaro Linux ให้ติดตั้งด้วย:
sudo pacman -S pigz
หากคุณกำลังใช้ openSUSE ให้ลอง:
sudo zypper install pigz
บีบอัดไฟล์เดียว
ในการบีบอัดไฟล์เป็นรูปแบบ GNU Zip ด้วย pigz ให้ใช้:
pigz NAME_OF_FILE
สำหรับบางคน อาจเป็นปัญหาที่โดยค่าเริ่มต้น pigz จะลบไฟล์ต้นฉบับหลังจากการบีบอัด หากต้องการเก็บไว้ให้ใช้ -k
switch (สังเกตว่าเป็นตัวพิมพ์เล็ก)
pigz -k NAME_OF_FILE
Pigz รองรับการบีบอัดข้อมูลหลายระดับ และคุณสามารถเลือกระหว่างการบีบอัดได้โดยระบุหมายเลขหลังเครื่องหมาย ตัวอย่างเช่น:
pigz -5 FILE_TO_BE_COMPRESSED
คุณสามารถใช้ตัวเลขตั้งแต่ 1 ถึง 9 โดยที่ “1” ให้ประสิทธิภาพที่เร็วที่สุดแต่บีบอัดต่ำสุด และ “9” ให้การบีบอัดที่ช้าที่สุดแต่สูงสุด
บีบอัดโฟลเดอร์
Pigz มีข้อ จำกัด ที่สำคัญ:ไม่รองรับโฟลเดอร์ คุณสามารถบีบอัดไฟล์ได้เพียงไฟล์เดียว วิธีแก้ปัญหาคือใช้ร่วมกับ tar
สมมติว่าคุณต้องการบีบอัดโฟลเดอร์ "รูปภาพ" เนื่องจาก tar รองรับการใช้โปรแกรมบีบอัดภายนอก คุณจึงทำสิ่งต่อไปนี้ได้:
tar --use-compress-program="pigz -k -9" -cf pictures.tar.gz Pictures
ในคำสั่งด้านบน tar --use-compress-program
ระบุว่าแม้ว่าคุณจะสร้างไฟล์เก็บถาวรด้วย tar แต่การบีบอัดเนื้อหาจะเกิดขึ้นผ่านโปรแกรมภายนอก
โปรแกรมภายนอกนี้และพารามิเตอร์ถูกกำหนดด้วย pigz -k -9
ส่วนหนึ่งของคำสั่ง
สุดท้าย ระบุว่าคุณต้องการสร้างไฟล์ (“-cf”) ที่เรียกว่า “pictures.tar.gz” พร้อมทุกอย่างที่พบในโฟลเดอร์ “Pictures”
การคลายการบีบอัดไฟล์และโฟลเดอร์
การขยายขนาดไฟล์ gz ด้วย pigz นั้นง่ายพอๆ กับการป้อนคำสั่งใดๆ ต่อไปนี้:
pigz -d FILENAME.gz unpigz FILENAME.gz
ในไฟล์ tar.gz ที่เราสร้างไว้ก่อนหน้านี้ การคลายการบีบอัดโฟลเดอร์จะใช้แนวทาง “tar” แบบเดียวกัน
tar --use-compress-program="pigz -d" -xvf pictures.tar.gz
จำกัดการขนาน
สุดท้ายนี้ ควรสังเกตว่าสวิตช์พิเศษอาจมีประโยชน์:p
. โดยค่าเริ่มต้น Pigz จะใช้โปรเซสเซอร์/คอร์ทั้งหมดในคอมพิวเตอร์ของคุณ เมื่อบีบอัดชุดข้อมูลขนาดใหญ่ อาจส่งผลต่อการตอบสนองของคอมพิวเตอร์
ด้วย p
เปลี่ยน คุณสามารถจำกัด pigz ให้ใช้เฉพาะจำนวนโปรเซสเซอร์/คอร์ที่กำหนดเท่านั้น ซึ่งจะทำให้คอร์ที่เหลือว่างสำหรับงานอื่นๆ และการโต้ตอบของคุณ โดยเพิ่มจำนวนโปรเซสเซอร์/คอร์ทันทีหลังสวิตช์:
pigz -k -p2 FILE_TO_BE_COMPRESSED
-p2
จำกัด pigz ให้ใช้โปรเซสเซอร์/คอร์เพียงสองตัวเท่านั้น คุณสามารถใช้หมายเลขใดก็ได้ตามต้องการ แต่ขอแนะนำให้ใช้หมายเลขนี้ภายในขีดจำกัดของฮาร์ดแวร์
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการบีบอัดและแตกไฟล์ใน Linux โปรดดูคำแนะนำเชิงลึกเกี่ยวกับคำสั่งการเก็บถาวรและการบีบอัดของ Linux