ฉันยังใหม่กับสิ่งที่พรอมต์คำสั่ง Mac คุณจะสร้าง gzip ของโฟลเดอร์ใน Mac OS X ได้อย่างไร? มีคนบอกฉันไม่กี่คนว่าถ้าคุณต้องการสร้าง gzip ของโฟลเดอร์คุณควร 'tar' ก่อนแล้วจึง 'gzip' ถูกต้องหรือไม่
ฉันยังใหม่กับสิ่งที่พรอมต์คำสั่ง Mac คุณจะสร้าง gzip ของโฟลเดอร์ใน Mac OS X ได้อย่างไร? มีคนบอกฉันไม่กี่คนว่าถ้าคุณต้องการสร้าง gzip ของโฟลเดอร์คุณควร 'tar' ก่อนแล้วจึง 'gzip' ถูกต้องหรือไม่
คำตอบ:
Tar เป็นเครื่องมือเก็บถาวรและ gzip เป็นเครื่องมือบีบอัดข้อมูล ในการบีบอัดไดเรกทอรีเต็มขั้นแรกคุณต้องจัดเก็บลงในไฟล์เดียว นั่นคือสิ่งที่งานคือ tar แล้วคุณบีบอัดไฟล์ที่เก็บถาวร คุณสามารถทำงานทั้งสองอย่างในคำสั่ง tar เดียวด้วยตัวเลือกที่เหมาะสม
tar -czf folder_name.tar.gz folder_name /
หากคุณไม่ต้องการสร้างไฟล์เก็บถาวร tar (อาจต้องการบีบอัดไฟล์เดียว) จากนั้นคุณสามารถใช้คำสั่ง gzip โดยตรง
gzip file.txt
มันจะสร้างไฟล์บีบอัดชื่อ file.txt.gz
-czf
หลังจากที่tar
มีการ: c
บ่งบอกว่าคุณต้องการที่จะสร้างที่เก็บน้ำมันz
ใช้gzip
ในการเก็บ tar กลางและเป็นชื่อไฟล์สุดท้ายที่ตามมาf
folder_name.tar.gz
gzip file.txt
แทนที่ไฟล์ต้นฉบับ
gzip -k file.txt
เพื่อ "เก็บ" (อย่าลบ) ไฟล์อินพุต
หากใครบางคนยังคงค้นหาคำถามนี้เมื่อค้นหา "gzip ใน Mac" ฉันเขียนคำแนะนำที่อาจเป็นประโยชน์กับคนอื่น นี่มันไป:
คำสั่งพื้นฐานส่วนใหญ่จะบีบอัดไฟล์filename.ext
แล้วแทนที่ด้วยfilename.ext.gz
ในไดเรกทอรีเดียวกัน
gzip filename.ext
หากคุณไม่ต้องการสูญเสียไฟล์ต้นฉบับของคุณคุณต้องไพพ์เอาต์พุตของgzip -c
ไฟล์
gzip -c filename.ext > anotherfile.gz
เราสามารถบีบอัดจากอินพุตมาตรฐานดังนั้นเราสามารถบีบอัดเอาต์พุตของคำสั่งอื่น ๆ
cat filename.ext | gzip > anotherfile.gz
OS X ยังมาพร้อมกับcompress
และuncompress
คำสั่ง พวกเขาทำเพื่อ "ฉลาด" gzip เพราะมันไม่บีบอัดไฟล์หากมันจะเติบโตหลังจากกระบวนการบีบอัด คำสั่งต่อไปนี้แทนที่filename.ext
ด้วยfilename.ext.Z
ในไดเรกทอรีเดียวกัน
compress filename.ext
หากต้องการกู้คืนไฟล์ไปเป็นสถานะที่ไม่บีบอัดคุณสามารถใช้ gzip หรือไฟล์อื่น ๆ โหมดคลายการบีบอัดของ gzip เรียกว่าพร้อมกับ-d
ธง โหมดนี้จะแทนที่ไฟล์filename.ext.gz
ด้วยfilename.ext
ในไดเรกทอรีเดียวกัน นอกจากนี้ยังมีทางลัดที่เรียกgunzip
ว่าจะทำเช่นเดียวกัน
gzip -d filename.ext.gz
gunzip filename.ext.gz
นอกจากนี้เรายังสามารถไพพ์ไฟล์ที่คลายบีบอัดไปยังเอาต์พุตมาตรฐานเพื่อบันทึกเป็นไฟล์อื่น
gzip -cd filename.ext.gz > anotherfile
gunzip -c filename.ext.gz > anotherfile
อีกวิธีที่รวดเร็วในการอ่านเนื้อหาของ gzip ไปยังเอาต์พุตมาตรฐานคือzcat
โดยพื้นฐานแล้วมันเหมือนกับการโทรgzip -cd
แต่คุณสามารถเรียกหลาย ๆ ไฟล์และทำให้พวกมันเชื่อมต่อกันในลักษณะเดียวกับcat
คำสั่ง concats text files ข้อเสียเปรียบเพียงอย่างเดียวคือไฟล์ของคุณจะต้อง.Z
ต่อท้ายด้วยคำต่อท้ายเพื่อให้ทำงาน ...
zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z
แต่อย่ากลัวเลย! zcat
มันยังคงมีประโยชน์เพราะมันสามารถขยายจากมาตรฐานออก ดังนั้นโดยทั่วไปคุณสามารถไพพ์ไฟล์ของคุณไปยัง zcat เพื่อให้มันคลายการบีบอัดในหน้าต่างเทอร์มินัล
cat filename.ext.gz | zcat
สิ่งนี้มีประโยชน์มากหากคุณต้องการตรวจสอบเนื้อหาของไฟล์อย่างรวดเร็วและคุณยังสามารถบันทึกเอาต์พุตของ zcat ไปยังไฟล์ได้อย่างง่ายดาย
cat filename.ext.gz | zcat > anotherfile
uncompress
เสื้อคลุมทำงานเหมือนgzip -cd
แต่ดูเหมือนสำหรับไฟล์ที่มีนามสกุลอัด Z เพื่อแทนที่พวกเขาในไดเรกทอรีปัจจุบันดังนั้นคุณจะต้องระบุชื่อไฟล์ที่คุณต้องการที่จะเรียกคืน แต่ก็ไม่เป็นไรถ้าคุณเรียกมันว่ามีนามสกุลอัด Z เป็น โปรแกรมจะเพิกเฉย
compress filename.ext
uncompress filename.ext
ฉันหวังว่าคุณจะพบคำแนะนำของฉันมีประโยชน์ :)
MacOS X เป็น Unix ดังนั้นจึงควรใช้งานได้ (ใช้งานได้กับ GNU / Linux)
tar czvf บีบอัดโฟลเดอร์ tar.gz
ใช่คุณทำ tar ไดเรกทอรีก่อน คำสั่ง tar สามารถทำทั้งสองอย่าง:
tar -czf archiv.tar.gz mydir/
ดึง archiv ของคุณ:
tar -xzf archiv.tar.gz
หากต้องการเพิ่มคำตอบโดย @taskinoor: หากคุณใช้รุ่นไฟล์เดี่ยว aka
gzip file.txt
โปรดระวังว่าไฟล์ต้นฉบับ (file.txt) จะถูกลบและคุณจะมีเฉพาะ file.txt.gz
ฉันจะใส่ความคิดเห็นนี้ แต่ไม่มีกรรมพอที่จะทำเช่นนั้น: =)
gzip --keep file.txt
file.txt.gz
จะเก็บเดิมและสร้าง gzip --help
ดู
ใช่ถูกต้องแล้ว gzip
สามารถบีบอัดไฟล์ได้เท่านั้น tar
ถอดรหัสเนื้อหาไดเรกทอรีเป็นไฟล์เดียวซึ่งสามารถบีบอัดเพิ่มเติมได้โดยใช้gzip
, bzip2
, lzma
หรือสิ่งอื่นใด
objective-c
แต่คุณกำลังถามเกี่ยวกับบรรทัดคำสั่ง