ความแตกต่างระหว่าง. tar.gz และ. gz หรือ. tar.7z กับ. 7z คืออะไร


158

เมื่อเร็ว ๆ นี้ฉันได้ทำการสำรองข้อมูลจำนวนมากและฉันสังเกตเห็นว่าฉันสามารถบันทึกไฟล์เป็น.gzหรือ.tar.gzหรือ.7zและและ.tar.7zอื่น ๆ อะไรคือความแตกต่างระหว่างปกติและ.tar.*ตัวแปร? แนะนำวิธีใดในการสำรองข้อมูล

คำตอบ:


183

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

ในระบบ Unix และ Unix-like (เช่น Ubuntu) การเก็บถาวรและการบีบอัดจะแยกจากกัน

tar ใส่หลายไฟล์ลงในไฟล์เดียว (tar)

gzip บีบอัดหนึ่งไฟล์ (เท่านั้น)

ดังนั้นในการรับไฟล์บีบอัดที่เก็บถาวรคุณรวมทั้งสองใช้งานครั้งแรกtarหรือpaxเพื่อรับไฟล์ทั้งหมดเป็นไฟล์เดียว (archive.tar) จากนั้นgzipมัน (archive.tar.gz) หากคุณมีเพียงหนึ่งไฟล์ที่คุณต้องการในการบีบอัด (notes.txt) มีความจำเป็นในการ tar ไม่มีดังนั้นคุณก็ทำซึ่งจะส่งผลให้gzip notes.txt notes.txt.gzมีชนิดอื่น ๆ ของการบีบอัด, เช่นcompress, bzip2และxzที่ทำงานในลักษณะเดียวกับ gzip (นอกเหนือจากการใช้ที่แตกต่างกันของการบีบอัดของหลักสูตร)


6
มันสมเหตุสมผลแล้วทำไมทำไมฉันถึงสามารถทำการ.7zเก็บถาวรจากหลาย ๆ ไฟล์ในขณะที่ฉันยังสามารถทำการ.tar.7zเก็บถาวรจากหลาย ๆ ไฟล์ได้?
Execution-G

3
@ Exocity-G 7zip ไม่เป็นไปตามรูปแบบนี้ มันเหมือนซิปและ rar ไม่แน่ใจว่าจุดใช้ tar ร่วมกับ 7zip คืออะไรเพราะฉันไม่ได้ใช้ 7zip ด้วยตัวเอง
geirha

42
@ Exocity-G หลังจากอ่านคำตอบอื่น ๆ ฉันเห็น SaultDon ตอบคำถามนี้ 7zip ไม่ได้จัดเก็บความเป็นเจ้าของ unix และการอนุญาตของไฟล์ที่เก็บถาวร (ดูเหมือนว่าจะเน้นไปที่ Windows เป็นหลักเช่น zip และ rar) ดังนั้นจึงเหมาะสมที่จะรวมเข้ากับ tar เพื่อรับสิทธิ์และการสงวนสิทธิ์
geirha

@geirha ทำเครื่องหมายคำถามว่าแก้ไขแล้วหากคุณพบคำตอบที่เหมาะสม
Ravi

1
จากประสบการณ์ของฉัน 7z ดีกว่าการบีบอัดมากกว่า zip เมื่อฉันทดสอบมันช่วยฉันประหยัด 40% พิเศษ
Eoin

49

มันขึ้นอยู่กับสิ่งที่คุณกำลังมองหา ... การบีบอัดหรือเก็บถาวร

เมื่อฉันพูดถึงการเก็บถาวรฉันหมายถึงการสงวนสิทธิ์โครงสร้างไดเรกทอรี ฯลฯ ...

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

หากต้องการสงวนสิทธิ์ของไฟล์ให้ใช้ tar:

tar cpvf backup.tar folder

การตั้งค่าสถานะ p จะบันทึกการอนุญาตของไฟล์ ใช้แฟล็ก z สำหรับการบีบอัด gzip หรือแฟล็ก j สำหรับการบีบอัด bzip

tar czpvf backup.tar.gz folder #backup.tgz is acceptable as well
tar cjpvf backup.tar.bz2 folder #backup.tbz2 works too

หากคุณต้องการมีไฟล์ tar คุณสามารถ "อัพเดท" แพ็คเกจ tar โดยใช้การตั้งค่าสถานะ P:

tar cpPvf backup.tar folder

จากนั้นหากต้องการอัปเดตให้แทนที่ 'c' ด้วย 'u' และเมื่อคลายไฟล์ออกมาคุณสามารถใช้ 'k' เพื่อเก็บไฟล์ที่มีอยู่แล้ว

tar upPvf backup.tar folder #updating a tar file
tar xpPkvf backup.tar #extracting a tar with permissions(p) and not extracting(k) files that exist on disk already

การตั้งค่าสถานะ P บันทึกไฟล์ด้วยเส้นทางแบบเต็มดังนั้น - / home / ชื่อผู้ใช้ vs home / ชื่อผู้ใช้ (สังเกตว่าเครื่องหมายทับหน้านำหน้า)

การบีบอัด 7z ให้การบีบอัดที่มากขึ้น แต่ไม่รักษาความเป็นเจ้าของไฟล์การอนุญาต ฯลฯ Rzip เป็นโปรแกรมบีบอัดอื่นที่ให้การบีบอัดที่เทียบเท่ากับ 7z เช่นกัน

ฉันเดาว่าไฟล์ backup.tar.7z เป็นเพียงไฟล์ tar (ที่มีสิทธิ์) ที่ถูกบีบอัดโดยไฟล์ 7z แต่ฉันจะไม่แปลกใจหากมีการบีบอัดเล็กน้อยเกิดขึ้นเนื่องจาก 7z อาจไม่สามารถถ่ายโอนเมทาดาทาของไฟล์ เป็นความสามารถของ 7z ในการแยกข้อมูลเมตาของไฟล์ที่สามารถให้การบีบอัดที่ยอดเยี่ยมได้

การบีบอัดขึ้นอยู่กับประเภทของข้อมูลเช่นกัน ไฟล์บางไฟล์ไม่สามารถบีบอัดได้ดีเนื่องจากไฟล์เหล่านั้นอาจถูกบีบอัดด้วยวิธีอื่นแล้ว (เช่น. mp3, .jpg, .tiff / ด้วย lzma, .rpm เป็นต้น)


11

gzip หรือ bzip2 ไม่ทราบfile system- ชื่อไฟล์ไดเรกทอรีหรือโครงสร้างต้นไม้ เพียงแค่บีบอัดอินพุตสตรีมจากนั้นก็ส่งออกผลลัพธ์ แม้แต่ gzip หรือ bzip2 ก็ไม่สามารถเก็บไดเรกทอรีได้ด้วยตนเองนั่นคือเหตุผลที่มันมักจะรวมกับ tar

tar (archiver) - เพียงเก็บโครงสร้างของไฟล์ gzip, bzip2 (คอมเพรสเซอร์) - เพียงแค่บีบอัดอินพุต

ฉันคิดว่ากลยุทธ์นี้มาจากปรัชญา'ทำสิ่งหนึ่งที่ดี' ของ Unix ทาร์ทำงานได้ดี? ทิ้งไว้เหมือนเดิม ต้องการอัตราส่วนการบีบอัดมากกว่า gzip หรือไม่ นี่คือ bzip2 หรือ 7zip


ที่จริง 7zip สามารถเก็บถาวรเช่น zip หรือ rar
Mait

8

สไตล์ที่แตกต่างของการบีบอัด tar ด้วยตัวเองนั้นถูกเก็บถาวร (เพียงเล็กน้อยถึงไม่มีการบีบอัด) tar.gz เป็นไฟล์เก็บถาวร tar แต่เนื้อหาถูกบีบอัดโดย gzip (การบีบอัดปานกลาง) ดังนั้น. gz และ tar.7z จึงถูกบีบอัดโดยใช้ 7zip (โดยปกติคือการบีบอัดสูงมาก)

เมื่อทำการสำรองข้อมูลฉันขอแนะนำ tar.7z เนื่องจากมีอัตราการบีบอัดข้อมูลสูงสุดที่ช่วยประหยัดพื้นที่ของคุณ แต่ใช้โปรแกรมพิเศษ (7zip) . tar.gz จะเป็นไฟล์ที่มีขนาดใหญ่ขึ้นและทำงานเดียวกันคุณสามารถใช้ bzip (.tar.bz / bz2) ได้แม้ว่าฉันจะไม่แน่ใจว่ามันจะเหมาะกับคุณมากกว่าที่ฉันใช้ gzip หรือ 7zip


4

โดยทั่วไปแล้วไฟล์ *. tar เป็นเพียงไฟล์ tar ที่สร้างขึ้นโดยโปรแกรม tar, * .gz โปรแกรมที่สร้างโดย gzip, * .tar.gz (บางครั้งก็เป็น * .tgz) เป็นไฟล์ tar ที่ gziped และ * .7z ถูกสร้างขึ้นโดย 7zip

อย่างไรก็ตามใน Linux / Unix เราสามารถตั้งชื่อไฟล์ได้ค่อนข้างมากอย่างไรก็ตามเขาต้องการมันขึ้นอยู่กับดุลยพินิจของผู้สร้างไฟล์


3

Tar (Tape Archiver) มีการใช้แบบดั้งเดิมเป็นคอนเทนเนอร์ใน Unix / Linux ไปยังไฟล์แพ็กเกจสำหรับการเคลื่อนไหว มันจัดทำโครงสร้างไฟล์และคงคุณสมบัติของไฟล์ไว้ แต่จะไม่บีบอัดไฟล์

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

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