บีบอัดไฟล์จากเทอร์มินัล OS X หรือไม่


50

ใน Finder มีความสามารถที่ยอดเยี่ยมในการคลิกขวาที่ไฟล์หรือไดเรกทอรีเลือกการบีบอัดจากเมนูแบบเลื่อนลงและท้ายด้วยไฟล์ซิป

เป็นไปได้ไหมที่จะทำสิ่งเดียวกันจากเครื่องเทอร์มินัล

คำตอบ:


69

zipมันเรียกว่า

สิ่งนี้จะเพิ่มไฟล์fileลงในไฟล์เก็บถาวรfile.zip:

zip file.zip file

แน่นอนว่าการเพิ่มไฟล์เพิ่มเติมเพียงแค่เพิ่มมันเป็นอาร์กิวเมนต์ในคำสั่ง ลองดูman zipตัวเลือกเพิ่มเติม

บ่อยครั้งที่คุณต้องการข้ามรวมถึง.DS_Storeไฟล์ที่น่ารำคาญเช่นการบีบอัดโฟลเดอร์ทั้งหมดfolderลงในfolder.zip:

zip -vr folder.zip folder/ -x "*.DS_Store"

อะไรคือ (1) หลังจากคำว่า zip?
Jacob Raccuia


มันเป็น zip GNU แบบเก่าธรรมดาที่มาพร้อมกับ OS X หรือไม่?
mwfearnley

@mwfearnley ภายใต้ MacOS Copyright (c) 1990-2008 Info-ZIPก็ developer.apple.com/legacy/library/documentation/Darwin/…
slhck

ลิงก์ไปที่ manpage พัง .. ใช้man zipบนบรรทัดคำสั่ง
commonpike

15

หากต้องการบีบอัดไฟล์ให้ตรงตามที่คำสั่ง Finder บีบอัดให้ใช้:

ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip

ดูman dittoรายละเอียด:

 The command:
       ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip
 will create a PKZip archive similarly to the Finder's Compress function-
 ality.

3
นี่เป็นคำตอบที่ดีที่สุดเพราะมันสร้างซิปเหมือนกันในขณะที่ CLI zip หรือ tar แตกต่างกันและเล็กกว่าเล็กน้อย คำถามที่คล้ายกันที่มีคำตอบเดียวกัน: stackoverflow.com/questions/10738505/…
Henry Blyth

5

มีtar (1)และ gzip (หรือ bzip2 หรือ lzma) Tar ใช้ในการหมุนไฟล์จำนวนหนึ่งเป็นไฟล์เก็บถาวรหนึ่งไฟล์ในขณะที่อีกไฟล์หนึ่งถูกใช้เพื่อบีบอัดไฟล์

บนบรรทัดคำสั่งคุณจะเรียก tar ด้วยสองสามตัวเลือกเพื่อสร้างไฟล์เก็บถาวรและ gzip

เช่น:

tar -c -z -f myarchive.tar.gz -C /home/username Downloads

willl -c reate ag -z ipped ไฟล์เก็บถาวรชื่อ-f ile จากไดเร็กทอรี-C hange-folder-to และจะมีไฟล์ทั้งหมดในโฟลเดอร์ Downloads อ็อพชัน -C เป็นทางเลือกและอาร์กิวเมนต์ไฟล์ต้นฉบับจะถูกนำมาจากโฟลเดอร์ปัจจุบันหากไม่ระบุ

สำหรับการอ้างอิง: tar tutorial

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.