บีบอัดแฟ้มทั้งหมดในไดเรกทอรีโดยบรรทัดคำสั่ง

นี่คือคำสั่ง terminal ที่ยอดเยี่ยมจริงๆที่บีบอัดไฟล์ทุกไฟล์ภายในไดเร็กทอรีทำให้ไฟล์เหล่านี้ถูกเก็บเป็นไฟล์ซิป เราจะเสนอสองรูปแบบของมัน หนึ่งที่เอาแฟ้มต้นฉบับและใบเฉพาะไฟล์บีบอัดและคำสั่งอื่นที่ออกจากไฟล์ต้นฉบับไม่มีการบีบอัดเหมือนเดิม นี้ได้รับการทดสอบและทำงานใน Mac OS X และ Linux

บีบอัดไฟล์ทั้งหมดในไดเร็กทอรีและลบไฟล์ต้นทาง

รุ่นนี้จะบีบอัดไอเท็มทั้งหมดในไดเร็กทอรีปัจจุบันและลบไฟล์ต้นฉบับที่ไม่มีการบีบอัดออก:

for item in *; do zip -m "${item}.zip" "${item}"; done

โปรดจำไว้ว่า * หมายถึงไฟล์ทั้งหมดในไดเร็กทอรีปัจจุบันดังนั้นให้แน่ใจว่าคุณอยู่ในไดเร็กทอรีที่คุณต้องการบีบอัดก่อนที่จะรันคำสั่ง คุณสามารถตรวจสอบอีกครั้งว่าคุณใช้ไดเร็กทอรี 'pwd' ด้วยเช่นกัน

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

บีบอัดไฟล์ทั้งหมดในไดเรกทอรี, เก็บไฟล์ต้นฉบับ

นอกจากนี้คุณยังสามารถใช้คำสั่งดังกล่าวเพื่อบีบอัดไฟล์ทั้งหมดภายในไดเร็กทอรี แต่ยังคงรักษาไฟล์หรือโฟลเดอร์ต้นฉบับไว้เป็นแบบไม่บีบอัด คำสั่งเป็นจริงเหมือนกันเพียงแค่ปล่อยให้ออก -m ธง:

for item in *; do zip "${item}.zip" "${item}"; done

ตอนนี้คุณจะบีบอัดไฟล์ทั้งหมดในไดเร็กทอรีการทำงานปัจจุบัน (pwd) และไฟล์ต้นฉบับจะยังคงอยู่ในที่ที่ไม่มีการบีบอัด

คำสั่งเหล่านี้ทำงานใน Mac OS X และ Linux และอาจมีตัวแปรอื่น ๆ ของ Unix ด้วย

ตรวจสอบคำแนะนำบรรทัดคำสั่งเพิ่มเติมถ้าคุณสนใจ