โลโก้ ifformat.io iformat.io

TAR กับ ZIP กับ GZIP: อธิบายรูปแบบไฟล์เก็บถาวร Linux

ปรับปรุง พ.ค. 17 กันยายน 2026
อ่าน 7 นาที
TAR, ZIP และ GZIP คือรูปแบบไฟล์เก็บถาวรและการบีบอัดข้อมูลที่พบมากที่สุดสามรูปแบบบน Linux แต่คนส่วนใหญ่ใช้รูปแบบเหล่านี้สลับกันได้โดยไม่เข้าใจว่าแต่ละรูปแบบทำอะไรได้บ้าง ความสับสนเป็นที่เข้าใจได้ คุณเห็นไฟล์ .tar.gz ทุกที่ ไฟล์ ZIP ปรากฏขึ้นเมื่อดาวน์โหลดซอฟต์แวร์ และ GZIP ได้รับการกล่าวถึงในการกำหนดค่าเซิร์ฟเวอร์ ในทางปฏิบัติ แต่ละรูปแบบจะแก้ปัญหาที่แตกต่างกัน และการเลือกรูปแบบที่ไม่ถูกต้องจะสร้างเรื่องน่าปวดหัวโดยไม่จำเป็นเมื่อแชร์ไฟล์ข้ามระบบปฏิบัติการ

TAR ทำอะไรได้จริง (ไม่ใช่คอมเพรสเซอร์)

TAR ย่อมาจาก Tape Archive ซึ่งเป็นชื่อที่ย้อนกลับไปถึงตอนที่ระบบ Unix สำรองข้อมูลไปยังเทปไดรฟ์แม่เหล็ก สิ่งที่คนส่วนใหญ่มองข้ามคือ TAR ไม่ได้บีบอัดอะไรเลย โดยจะรวมไฟล์และไดเร็กทอรีหลายไฟล์ไว้ในไฟล์เดียว โดยคงโครงสร้าง สิทธิ์ การเป็นเจ้าของ และการประทับเวลาไว้ คิดว่า TAR เป็นการใส่สิ่งของลงในกล่องโดยไม่ทำให้เล็กลง
พลังที่แท้จริงของ TAR คือการเก็บรักษาข้อมูลเมตา บน Linux และ macOS TAR จะเก็บสิทธิ์อนุญาตไฟล์ Unix (rwx) ลิงก์สัญลักษณ์ ความเป็นเจ้าของผู้ใช้และกลุ่ม และคุณลักษณะเพิ่มเติม สิ่งนี้ทำให้ TAR จำเป็นสำหรับการสำรองข้อมูลระบบและการแจกจ่ายซอร์สโค้ดที่รายละเอียดเหล่านี้มีความสำคัญ ไฟล์เก็บถาวร TAR ของไดเร็กทอรีโครงการจะสร้างโครงสร้างไฟล์ที่แน่นอนเมื่อแตกไฟล์
การสร้างไฟล์เก็บถาวร TAR นั้นตรงไปตรงมา: tar -cf archive.tar /path/to/directory. ที่ -c ธงหมายถึงสร้างและ -f ระบุชื่อไฟล์ หากต้องการแยก: tar -xf archive.tar. ที่ -x ธงหมายถึงสารสกัด เพิ่ม -v สำหรับเอาต์พุตแบบละเอียดที่แสดงแต่ละไฟล์ที่กำลังประมวลผล

GZIP: การบีบอัดไฟล์เดี่ยวที่จับคู่กับ TAR

GZIP (GNU Zip) เป็นเพียงอัลกอริธึมการบีบอัดเท่านั้น ใช้ไฟล์เดียวและทำให้เล็กลง — ไม่มีอะไรมากไปกว่านั้น คุณไม่สามารถ GZIP โฟลเดอร์ได้โดยตรง คุณไม่สามารถรวมหลายไฟล์เข้ากับ GZIP เพียงอย่างเดียวได้ มันบีบอัดไฟล์อินพุตเดียวและสร้างเอาต์พุต .gz จุดมุ่งเน้นเอกพจน์นี้เกิดจากการออกแบบ: ปรัชญาของ Unix กล่าวว่าแต่ละเครื่องมือควรทำสิ่งหนึ่งสิ่งใดได้ดี
โดยทั่วไป GZIP จะบีบอัดไฟล์ข้อความได้ 60-70% ซึ่งหมายความว่าไฟล์บันทึกขนาด 10MB อาจย่อขนาดเหลือ 3-4MB สำหรับไฟล์ที่บีบอัดแล้ว เช่น JPEG หรือ MP4 GZIP แทบไม่ช่วยประหยัดพื้นที่ใดๆ ซึ่งมักจะน้อยกว่า 2% ความเร็วในการบีบอัดรวดเร็ว ทำให้ใช้งานได้จริงในขณะเดินทาง เว็บเซิร์ฟเวอร์ใช้ GZIP เพื่อบีบอัด HTML, CSS และ JavaScript ก่อนที่จะส่งไปยังเบราว์เซอร์ของคุณ ซึ่งเป็นสาเหตุที่คุณเห็นสิ่งนี้ในส่วนหัว HTTP
วิธีบีบอัดไฟล์: gzip filename.txt สร้าง filename.txt.gz และเอาของเดิมออก วิธีขยายขนาด: gunzip filename.txt.gz หรือ gzip -d filename.txt.gz. หากต้องการเก็บไฟล์ต้นฉบับให้ใช้ gzip -k filename.txt.

TAR.GZ: ชุดค่าผสมมาตรฐานของ Linux

เนื่องจาก TAR รวมไฟล์ต่างๆ และ GZIP บีบอัดไฟล์เหล่านั้น การรวมทั้งสองอย่างเข้าด้วยกันจะทำให้คุณได้รับไฟล์บีบอัดที่บีบอัด — ไฟล์ .tar.gz (เรียกอีกอย่างว่า tarball หรือ .tgz) วิธีการสองขั้นตอนนี้เป็นวิธีมาตรฐานที่ Linux กระจายซอร์สโค้ดซอฟต์แวร์ การสำรองข้อมูลการกำหนดค่า และไฟล์โปรเจ็กต์ เกือบทุกโปรเจ็กต์โอเพ่นซอร์สมีการดาวน์โหลดเป็นไฟล์เก็บถาวร .tar.gz
สร้าง tarball ที่ถูกบีบอัดด้วยคำสั่งเดียว: tar -czf archive.tar.gz /path/to/directory. ที่ -z ธงบอกให้ TAR ส่งผ่าน GZIP แยกด้วย: tar -xzf archive.tar.gz. กระบวนการนี้ราบรื่น — TAR จัดการการเก็บถาวรและเรียก GZIP เพื่อบีบอัดโดยอัตโนมัติ

ZIP: รูปแบบ All-in-One สากล

ZIP ทำสิ่งที่ TAR และ GZIP ทำแยกกัน โดยจัดเก็บและบีบอัดในขั้นตอนเดียว ZIP สร้างขึ้นในปี 1989 กลายเป็นรูปแบบที่โดดเด่นบน Windows และยังคงเป็นรูปแบบไฟล์เก็บถาวรที่ได้รับการสนับสนุนในระดับสากลมากที่สุดในทุกระบบปฏิบัติการ สภาพแวดล้อมเดสก์ท็อป Windows, macOS และ Linux ส่วนใหญ่สามารถเปิดไฟล์ ZIP ได้เองโดยไม่ต้องติดตั้งซอฟต์แวร์เพิ่มเติม
สิ่งที่คนส่วนใหญ่มองข้ามเกี่ยวกับ ZIP คือวิธีจัดการกับการบีบอัดข้อมูลภายใน แต่ละไฟล์ภายในไฟล์ ZIP จะถูกบีบอัดแยกกัน ซึ่งหมายความว่าคุณสามารถแยกไฟล์เดียวจากไฟล์ ZIP ขนาดใหญ่ได้โดยไม่ต้องขยายขนาดไฟล์อื่นทั้งหมด ด้วย TAR.GZ ไฟล์เก็บถาวรทั้งหมดจะต้องได้รับการแตกไฟล์จึงจะเข้าถึงไฟล์ใดๆ ได้ การบีบอัดต่อไฟล์นี้เป็นข้อได้เปรียบที่สำคัญเมื่อทำงานกับไฟล์เก็บถาวรขนาดใหญ่
บนบรรทัดคำสั่ง: zip -r archive.zip /path/to/directory สร้างไฟล์ ZIP ซ้ำ ๆ unzip archive.zip สกัดมัน ตัวจัดการไฟล์กราฟิกส่วนใหญ่บน Linux (Nautilus, Dolphin, Thunar) ยังจัดการการสร้างและการแตกไฟล์ ZIP ผ่านเมนูคลิกขวาอีกด้วย

TAR.GZ กับ ZIP: ความแตกต่างที่แท้จริง

อัตราการบีบอัดคือจุดที่ TAR.GZ มักจะชนะ เนื่องจาก GZIP บีบอัดไฟล์เก็บถาวรทั้งหมดเป็นสตรีมเดียว จึงสามารถค้นหารูปแบบข้ามไฟล์และบีบอัดได้อย่างมีประสิทธิภาพมากขึ้น ZIP บีบอัดแต่ละไฟล์แยกจากกัน ไม่มีการซ้ำซ้อนระหว่างไฟล์ ในไดเร็กทอรีของไฟล์ข้อความที่คล้ายกัน TAR.GZ อาจมีการบีบอัดได้ดีกว่า ZIP ถึง 5-15% ในไดเร็กทอรีเนื้อหาผสม ความแตกต่างมักจะต่ำกว่า 5%
การเก็บรักษาสิทธิ์เป็นข้อแตกต่างที่สำคัญอีกประการหนึ่ง TAR จัดเก็บสิทธิ์ Unix ความเป็นเจ้าของ ลิงก์สัญลักษณ์ และการประทับเวลาอย่างซื่อสัตย์ ZIP มีการสนับสนุนที่จำกัดสำหรับสิทธิ์ Unix - การใช้งานบางอย่างจะจัดเก็บไว้ แต่บางการใช้งานก็ไม่ทำ หากคุณกำลังสำรองข้อมูลเซิร์ฟเวอร์ Linux หรือแจกจ่ายซอฟต์แวร์ที่ต้องอาศัยสิทธิ์อนุญาตไฟล์ TAR.GZ คือตัวเลือกที่ปลอดภัยกว่า
ความสะดวกสบายข้ามแพลตฟอร์มคือสิ่งที่ ZIP ครอบงำ ผู้ใช้ Windows ที่ได้รับไฟล์ .tar.gz ต้องใช้ 7-Zip หรือซอฟต์แวร์ที่คล้ายกันเพื่อเปิดไฟล์ ไฟล์ ZIP จะเปิดได้ทุกที่ หากคุณกำลังแชร์ไฟล์กับผู้คนบนระบบปฏิบัติการที่แตกต่างกัน ZIP จะช่วยขจัดความขัดแย้งโดยสิ้นเชิง

TAR.BZ2 และ TAR.XZ: ทางเลือกในการบีบอัดที่ดีกว่า

GZIP ไม่ใช่คอมเพรสเซอร์เพียงตัวเดียวที่คุณสามารถจับคู่กับ TAR ได้ BZIP2 (tar -cjf archive.tar.bz2) โดยทั่วไปจะบีบอัดได้ดีกว่า GZIP 10-20% แต่ทำงานช้ากว่า 2-6 เท่า เอ็กซ์แซด (tar -cJf archive.tar.xz) ได้อัตราส่วนการบีบอัดที่ดีที่สุด ซึ่งมักจะดีกว่า GZIP ถึง 20-30% แต่เป็นตัวเลือกที่ช้าที่สุด
ซอร์สโค้ดเคอร์เนล Linux เปลี่ยนจาก GZIP เป็น XZ เพื่อการแจกจ่ายเนื่องจากขนาดการดาวน์โหลดที่เล็กลงทำให้การบีบอัดข้อมูลช้าลง สำหรับ tarball แหล่งเคอร์เนลขนาด 130MB XZ อาจสร้างไฟล์ขนาด 75MB เทียบกับ 100MB สำหรับ GZIP เมื่อแบนด์วิธมีความสำคัญและคุณบีบอัดเพียงครั้งเดียวแต่ดาวน์โหลดหลายล้านครั้ง XZ ก็สมเหตุสมผล

เมื่อใดควรใช้แต่ละรูปแบบ

ใช้ TAR.GZ เมื่อ: การกระจายซอร์สโค้ดซอฟต์แวร์ Linux การสร้างการสำรองข้อมูลเซิร์ฟเวอร์ที่สิทธิ์มีความสำคัญ การเก็บถาวรไดเร็กทอรีโปรเจ็กต์บน Linux หรือ macOS หรือการบีบอัดไฟล์ที่จะอยู่ภายในระบบนิเวศของ Unix TAR.GZ เป็นตัวเลือกเริ่มต้นสำหรับทุกสิ่งที่ใช้ Linux
ใช้ ZIP เมื่อ: การแชร์ไฟล์กับผู้ใช้ Windows หรือ Mac การแนบไฟล์เก็บถาวรไปยังอีเมล การกระจายไฟล์ที่ผู้ใช้ที่ไม่ใช่ด้านเทคนิคจำเป็นต้องเปิด หรือการสร้างไฟล์เก็บถาวรบนระบบโดยไม่ต้องเข้าถึงบรรทัดคำสั่ง ZIP เป็นทางเลือกที่ปลอดภัยสากลสำหรับการแชร์ข้ามแพลตฟอร์ม
ใช้ GZIP เพียงอย่างเดียวเมื่อ: บีบอัดไฟล์แต่ละไฟล์ เช่น ไฟล์บันทึก ดัมพ์ฐานข้อมูล หรือส่งออก CSV เว็บเซิร์ฟเวอร์ใช้ GZIP เพื่อบีบอัดการตอบสนอง ไปป์ไลน์ข้อมูลจำนวนมากใช้ GZIP สำหรับการบีบอัดไฟล์แต่ละไฟล์ หากคุณมีไฟล์เดียว GZIP จะเร็วและง่ายกว่าการสร้างไฟล์ ZIP

การอ้างอิงคำสั่งทั่วไปแบบด่วน

TAR.GZ: สร้าง: tar -czf backup.tar.gz ./myfiles | สารสกัด: tar -xzf backup.tar.gz | เนื้อหารายการ: tar -tzf backup.tar.gz. รหัสไปรษณีย์: สร้าง: zip -r archive.zip ./myfiles | สารสกัด: unzip archive.zip | เนื้อหารายการ: unzip -l archive.zip. GZIP: บีบอัด: gzip file.txt | ขยายขนาด: gunzip file.txt.gz.

การแปลงระหว่างรูปแบบไฟล์เก็บถาวร

บางครั้งคุณได้รับไฟล์เก็บถาวรในรูปแบบหนึ่ง แต่จำเป็นต้องใช้ในรูปแบบอื่น เพื่อนร่วมงานส่งไฟล์ TAR แต่เวิร์กโฟลว์ Windows ของคุณต้องใช้ ZIP หรือคุณดาวน์โหลดไฟล์ ZIP แต่ต้องการ TAR.GZ สำหรับสคริปต์การปรับใช้ Linux แทนที่จะแยกและเก็บถาวรใหม่ด้วยตนเอง คุณสามารถใช้ได้ โปรแกรมแปลงไฟล์ ifformat.io TAR เป็น ZIP เพื่อจัดการการแปลงโดยตรง
สำหรับทิศทางกลับกัน แปลง ZIP เป็น TAR เมื่อเตรียมไฟล์สำหรับสภาพแวดล้อม Linux หากคุณต้องการการบีบอัดสูงสุด แปลง TAR เป็น 7Z ให้การบีบอัด LZMA2 ซึ่งโดยทั่วไปมีประสิทธิภาพเหนือกว่าทั้งอัลกอริธึมการยุบของ GZIP และ ZIP

การตัดสินใจเลือกที่ถูกต้อง

การถกเถียงเรื่องรูปแบบมีปัจจัยสามประการ: ใครจะเปิดไฟล์ ระบบปฏิบัติการที่พวกเขาใช้ และสิทธิ์ของ Unix มีความสำคัญหรือไม่ สำหรับเวิร์กโฟลว์ Linux ถึง Linux TAR.GZ เป็นตัวเลือกที่เป็นธรรมชาติ สำหรับสิ่งใดก็ตามที่เกี่ยวข้องกับผู้ใช้ Windows นั้น ZIP จะหลีกเลี่ยงปัญหาเรื่องความเข้ากันได้ หากต้องการการบีบอัดสูงสุดบนชุดข้อมูลขนาดใหญ่ ให้พิจารณา 7Z หรือ TAR.XZ
ในการใช้งานทุกวัน คุณไม่สามารถผิดพลาดได้กับ ZIP สำหรับการแชร์และ TAR.GZ สำหรับการสำรองข้อมูล ทั้งสองโปรแกรมนั้นฟรี มีการสนับสนุนอย่างดีและเชื่อถือได้ ความแตกต่างของรูปแบบมีอยู่จริงแต่สามารถจัดการได้ — และเมื่อคุณจำเป็นต้องสลับไปมา ตัวแปลงออนไลน์จะทำให้กระบวนการไม่ยุ่งยาก
เรียกดูโพสต์ทั้งหมด