วิธีบีบอัดไฟล์โดยใช้ Command Line ของ Linux

มีหลายวิธีในการบีบอัดไฟล์โดยใช้ปุ่ม ลินุกซ์บรรทัดคำสั่ง. บทความนี้ประกอบด้วยตัวอย่างเชิงปฏิบัติที่แสดงวิธีใช้ คำสั่ง zip เพื่อกระชับและจัดระเบียบไฟล์ภายในระบบไฟล์ของคุณ

ไฟล์ซิปถูกใช้เมื่อคุณต้องการประหยัดพื้นที่และ คัดลอกไฟล์ขนาดใหญ่ จากที่หนึ่งไปอีกที่หนึ่ง

หากคุณมี 10 ไฟล์ที่มีขนาดทั้งหมด 100 เมกะไบต์ และคุณจำเป็นต้องถ่ายโอนไปยังไซต์ ftp การถ่ายโอนอาจใช้เวลานานพอสมควรขึ้นอยู่กับความเร็วโปรเซสเซอร์ของคุณ หากคุณบีบอัดไฟล์ทั้งหมด 10 ไฟล์เป็นไฟล์ซิปเดียว คลังเก็บเอกสารสำคัญ และ การบีบอัด ลดขนาดไฟล์ลงเหลือ 50MB ต่อไฟล์ จากนั้นคุณต้องถ่ายโอนข้อมูลเพียงครึ่งเดียวเท่านั้น

คำสั่งลินุกซ์ซิป

วิธีสร้างไฟล์เก็บถาวรของไฟล์ทั้งหมดในโฟลเดอร์

ลองนึกภาพคุณมีโฟลเดอร์เพลงที่มีไฟล์ MP3 ต่อไปนี้:

ทางหลวง AC/DC สู่นรก

ท่องราตรี.mp3.

รักคนหิว.mp3.

รับร้อน.mp3.

เดินไปทั่ว.mp3.

ทางลงนรก.mp3.

ถ้าคุณต้องการเลือด คุณได้มัน.mp3

แสดงลงใน flame.mp3

แตะมากเกินไป.mp3

ตีรอบ bush.mp3

สาวมีจังหวะ.mp3.

คำสั่ง Linux อย่างง่ายนี้ที่แสดงวิธีสร้างไฟล์เก็บถาวรของไฟล์ทั้งหมดในโฟลเดอร์ปัจจุบันที่เรียกว่า ACDC_Highway_to_Hell.zip:

zip ACDC_Highway_to_Hell *

ข้อความเลื่อนขึ้นบนหน้าจอเพื่อแสดงไฟล์ขณะที่กำลังเพิ่ม

วิธีรวมไฟล์ที่ซ่อนอยู่ในไฟล์เก็บถาวร

คำสั่งก่อนหน้านี้ใช้ได้ดีสำหรับเก็บไฟล์ทั้งหมดในโฟลเดอร์ แต่จะรวมเฉพาะไฟล์ที่ไม่ได้ซ่อนไว้เท่านั้น มันไม่ง่ายอย่างนี้เสมอไป ลองนึกภาพว่าคุณต้องการซิปโฟลเดอร์บ้านของคุณเพื่อให้คุณสามารถสำรองข้อมูลไว้ที่ a ยูเอสบีไดรฟ์ หรือ ฮาร์ดไดรฟ์ภายนอก. โฟลเดอร์บ้านของคุณมีไฟล์ที่ซ่อนอยู่

เพื่อบีบอัดไฟล์ทั้งหมดรวมทั้ง the ไฟล์ที่ซ่อนอยู่ ในโฟลเดอร์ ให้รันคำสั่งต่อไปนี้:

zip กลับบ้าน * .*

สิ่งนี้จะสร้างไฟล์ชื่อ home.zip พร้อมไฟล์ทั้งหมดภายในโฟลเดอร์หลัก (คุณต้องอยู่ในโฟลเดอร์หลักจึงจะใช้งานได้) ปัญหาของคำสั่งนี้คือมันรวมเฉพาะไฟล์ในโฮมโฟลเดอร์เท่านั้น ไม่ใช่โฟลเดอร์ ซึ่งนำเราไปสู่ตัวอย่างต่อไป

วิธีเก็บถาวรไฟล์และโฟลเดอร์ย่อยทั้งหมดในไฟล์ Zip

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

zip -r บ้าน 

วิธีเพิ่มไฟล์ใหม่ไปยังไฟล์บีบอัดที่มีอยู่

หากคุณต้องการเพิ่มไฟล์ใหม่ในไฟล์เก็บถาวรที่มีอยู่หรืออัพเดตไฟล์ในไฟล์เก็บถาวร ให้ใช้ชื่อเดียวกันสำหรับไฟล์เก็บถาวรเมื่อรันคำสั่ง zip

ตัวอย่างเช่น สมมติว่าคุณมีโฟลเดอร์เพลงที่มีสี่อัลบั้มในนั้น และคุณสร้างไฟล์เก็บถาวรชื่อ music.zip เพื่อเก็บไว้เป็นข้อมูลสำรอง ตอนนี้ลองนึกภาพหนึ่งสัปดาห์ต่อมาคุณ ดาวน์โหลดสองอัลบั้มใหม่. หากต้องการเพิ่มอัลบั้มใหม่ลงในไฟล์ zip ให้เรียกใช้คำสั่ง zip เดียวกับที่ทำในสัปดาห์ก่อน

ในการสร้างไฟล์เพลงต้นฉบับให้รันโค้ดต่อไปนี้:

zip -r music /home/yourname/music/

หากต้องการเพิ่มไฟล์ใหม่ลงในไฟล์เก็บถาวรให้รันคำสั่งเดียวกันอีกครั้ง

หากไฟล์ zip มีรายการไฟล์อยู่ในนั้นและไฟล์ใดไฟล์หนึ่งบนดิสก์มีการเปลี่ยนแปลง ไฟล์ที่แก้ไขจะได้รับการอัปเดตในไฟล์ zip

วิธีอัปเดตไฟล์ที่มีอยู่ในไฟล์บีบอัด

หากคุณมีไฟล์ zip ที่ควรมีชื่อไฟล์เหมือนกันทุกครั้ง และคุณต้องการอัปเดตไฟล์นั้นด้วยการเปลี่ยนแปลงใดๆ ที่เกิดขึ้นกับไฟล์เหล่านั้น -NS สวิตช์ช่วยให้คุณทำสิ่งนี้ได้

ตัวอย่างเช่น สมมติว่าคุณมีไฟล์ซิปที่มีไฟล์ต่อไปนี้:

/home/yourname/documents/file1.

/home/yourname/documents/file2.

/home/yourname/documents/file3.

/home/yourname/documents/file4.

/home/yourname/documents/file5.

/home/yourname/documents/file6.

ลองนึกภาพว่าในระหว่างสัปดาห์ คุณเพิ่มไฟล์ใหม่สองไฟล์และแก้ไขสองไฟล์เพื่อให้โฟลเดอร์ /home/yourname/documents มีลักษณะดังนี้:

/home/yourname/documents/file1.

/home/yourname/documents/file2.

/home/yourname/documents/file3.

/home/yourname/documents/file4 (อัปเดต)

/home/yourname/documents/file5 (อัปเดต)

/home/yourname/documents/file6.

/home/yourname/documents/file7.

/home/yourname/documents/file8.

เมื่อคุณเรียกใช้คำสั่งต่อไปนี้ ไฟล์ zip จะมีไฟล์ที่อัปเดต (file4 และ file5) แต่จะไม่เพิ่ม file7 และ file8

zip zipfilename -f -r /home/yourname/documents.zip 

วิธีลบไฟล์จากไฟล์บีบอัด

ดังนั้น คุณจึงสร้างไฟล์ zip ขนาดใหญ่ที่มีไฟล์หลายร้อยไฟล์ และตอนนี้ก็พบว่ามีไฟล์ zip สี่หรือห้าไฟล์ที่คุณไม่ต้องการใช้ โดยไม่ต้องซิปไฟล์ทั้งหมดอีกครั้ง คุณสามารถรันคำสั่ง zip ด้วยปุ่ม -NS สลับดังนี้:

zip zipfilename -d [ชื่อไฟล์ในไฟล์เก็บถาวร]

ตัวอย่างเช่น หากคุณมีไฟล์ในไฟล์เก็บถาวรที่มีชื่อ home/documents/test.txt คุณจะลบไฟล์ออกด้วยคำสั่งนี้:

zip zipfilename -d home/documents/test.txt 

วิธีคัดลอกไฟล์จากไฟล์ Zip หนึ่งไปยังอีกไฟล์หนึ่ง

หากคุณมีไฟล์ในไฟล์ zip ไฟล์เดียว และต้องการคัดลอกไปยังไฟล์ zip อื่นโดยไม่ต้องแตกไฟล์ก่อนแล้วทำการบีบอัดใหม่ ให้ใช้ -ยู สวิตซ์.

สมมติว่าคุณมีไฟล์ zip ชื่อ "variousmusic.zip" พร้อมเพลงจากศิลปินต่างๆ ซึ่งหนึ่งในนั้นคือ AC/DC คุณสามารถคัดลอกเพลง AC/DC จากไฟล์ variousmusic.zip ลงในไฟล์ ACDC.zip โดยใช้คำสั่งต่อไปนี้:

zip ต่างๆmusic.zip -U --out ACDC.zip "Back_In_Black.mp3"

คำสั่งด้านบนคัดลอกไฟล์ "Back_In_Black.mp3" จาก varietymusic.zip ไปยัง ACDC.zip หากไม่มีไฟล์ zip ที่คุณกำลังคัดลอก ไฟล์นั้นจะถูกสร้างขึ้น

วิธีใช้การจับคู่รูปแบบและการวางท่อเพื่อสร้างไฟล์เก็บถาวร

สวิตช์ถัดไปมีประโยชน์มากเพราะช่วยให้คุณใช้เอาต์พุตของคำสั่งอื่นเพื่อแทรกไฟล์ลงในไฟล์ zip ของคุณ สมมติว่าคุณต้องการสร้างไฟล์ชื่อ lovesongs.zip ซึ่งมีทุกเพลงที่มีคำว่ารักอยู่ในชื่อ

หากต้องการค้นหาไฟล์ด้วยความรักในชื่อ คุณสามารถใช้คำสั่งต่อไปนี้:

หา /home/yourname/Music -name *รัก*

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

find /home/yourname/Music -name *รัก* | zip loveongs.zip -@

วิธีสร้าง Split Archive

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

ตัวอย่างเช่น:

zip mymusic.zip -r /home/myfolder/Music -s 670m. 

วิธีปรับแต่งรายงานความคืบหน้าของกระบวนการซิป

มีหลายวิธีในการปรับแต่งเอาต์พุตที่ปรากฏขึ้นในขณะที่กำลังทำการซิป

สวิตช์ที่ใช้ได้มีดังนี้:

  • -db = แสดงจำนวนไบต์ที่ถูกบีบอัดและจำนวนที่เหลือที่จะไป
  • -dc = แสดงจำนวนไฟล์ที่บีบอัดและจำนวนไฟล์ที่เหลือที่จะไป
  • -dd = แสดงจุดสำหรับไฟล์ทุก ๆ 10MB ที่ซิป
  • -ds = กำหนดความถี่ของจุดที่ปรากฏ
  • -du = แสดงขนาดที่ไม่บีบอัดของแต่ละไฟล์

ตัวอย่างเช่น:

zip myzipfilename.zip -dc -r /home/music.zip 

วิธีแก้ไขไฟล์ Zip

หากคุณมีไฟล์ zip ที่ใช้งานไม่ได้ คุณสามารถลองแก้ไขโดยใช้ปุ่ม -NS คำสั่งและหากล้มเหลว FF สั่งการ.

สิ่งนี้มีประโยชน์หากคุณได้สร้างไฟล์เก็บถาวรแบบแยกส่วนโดยใช้ -NS เปลี่ยน และคุณทำหนึ่งในไฟล์เก็บถาวรหาย

ตัวอย่างเช่น ลองอันนี้ก่อน:

zip -F myfilename.zip --out myfixedfilename.zip 

แล้ว.

zip -FF myfilename.zip --out myfixedfilename.zip 

วิธีเข้ารหัสไฟล์เก็บถาวร

หากคุณมีข้อมูลที่ละเอียดอ่อนที่คุณต้องการจัดเก็บไว้ในไฟล์ zip ให้ใช้ปุ่ม -e สั่งให้ เข้ารหัส มัน. คุณจะถูกขอให้ป้อน รหัสผ่าน และกรอกรหัสผ่านซ้ำ

ตัวอย่างเช่น:

zip myfilename.zip -r /home/wikileaks -e 

วิธีแสดงสิ่งที่จะถูกซิป

ถ้าคุณรู้ว่าคุณกำลังจะสร้างไฟล์เก็บถาวรขนาดใหญ่ ตรวจสอบให้แน่ใจว่าไฟล์ที่ถูกต้องจะถูกเพิ่มลงในไฟล์ zip คุณสามารถดูผลลัพธ์ที่คาดหวังของคำสั่ง zip โดยการระบุ -sf สวิตซ์.

ตัวอย่างเช่น:

zip myfilename.zip -r /home/music/ -sf. 

วิธีทดสอบไฟล์เก็บถาวร

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

คุณสามารถใช้ -NS เปลี่ยนไปทดสอบว่าไฟล์ zip นั้นถูกต้อง

ตัวอย่างเช่น:

zip myfilename.zip -T 

เอาต์พุตจากคำสั่งนี้เมื่อไฟล์เก็บถาวรไม่ถูกต้องอาจมีลักษณะดังนี้:

  • คำเตือน zip: ไม่มีลายเซ็นสิ้นสุด - อาจไม่ใช่ไฟล์ zip 

จำไว้ว่าคุณสามารถลองใช้คำสั่ง -F เพื่อแก้ไขไฟล์ zip ที่เสียหายได้

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

วิธียกเว้นไฟล์

บางครั้งคุณต้องการแยกไฟล์บางไฟล์ออกจากไฟล์ zip ตัวอย่างเช่น หากคุณคัดลอกไฟล์จากโทรศัพท์หรือกล้องดิจิทัล แสดงว่าคุณมีวิดีโอและรูปภาพผสมกัน คุณอาจต้องการซิปรูปภาพเป็น photos.zip และวิดีโอเป็น videos.zip

นี่เป็นวิธีหนึ่งในการยกเว้นวิดีโอเมื่อสร้าง photos.zip

zip photos.zip -r /home/photos/ -x *.mp4. 

วิธีการระบุระดับการบีบอัด

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

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

zip myfiles.zip -r /home -5