Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> ซอฟต์แวร์

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

เรื่อง "มากขึ้น" และ "เร็วขึ้น" คือสิ่งที่เราต้องการเสมอ โดยเฉพาะเมื่อพูดถึงข้อมูล ปัญหาคือ "มากขึ้น" และ "เร็วขึ้น" มักจะขัดแย้งกัน จึงมีเทคโนโลยีการบีบอัดไฟล์ (file compression) ใน Linux มีเครื่องมือบีบอัดไฟล์หลายอย่างที่ติดมากับทุกการกระจาย (distribution) ซึ่งเรียกกันว่า Linux distros โดย Zip น่าจะเป็นที่นิยมมากที่สุด โปรแกรม Zip สามารถใช้งานได้ทั้งผ่าน GUI และเทอร์มินัล

การ Zip ไฟล์ใน Linux GUI

  1. ไปที่ไฟล์ที่ต้องการบีบอัดและเลือกไฟล์เหล่านั้น แล้วคลิกขวาและเลือก Compress (บีบอัด)
เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip
  1. ใส่ชื่อสำหรับไฟล์บีบอัด สังเกตว่าคุณยังสามารถเลือกประเภทการบีบอัดอื่นอีก 2 แบบได้ (อาจแตกต่างกันไปตาม distro)
เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip
  1. เร็วๆ นี้คุณจะเห็นไฟล์บีบอัดที่สร้างขึ้น สังเกตว่าขนาดของไฟล์บีบอัดจะเล็กกว่าขนาดรวมของไฟล์ที่นำไปบีบอัดมาก
เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

การ Unzip ไฟล์ใน Linux GUI

  1. หาไฟล์บีบอัดที่ต้องการแตกคลิกขวาเลือก Extract Here (แตกที่นี่) หรือ Extract to… (แตกไปที่…) Extract Here จะแตกไฟล์ไว้ในโฟลเดอร์เดียวกัน Extract to… จะให้คุณเลือกที่อื่น
เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

ไฟล์ถูกแตกออกมาแล้ว สังเกตว่าขนาดกลับมาเป็นขนาดเต็ม 100 MB ต่อไฟล์

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

ใช้ Archive Manager แตกไฟล์ใน Linux GUI

บาง distro มีวิธีแตกไฟล์อื่นในตัว เช่น Archive Manager

  1. คลิกขวาที่ไฟล์บีบอัด เลือก Open With Archive Manager (เปิดด้วย Archive Manager)
เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip
  1. เลือกไฟล์ที่ต้องการแตกโดยคลิกเดี่ยว สามารถเลือกได้ 1 ไฟล์ หลายไฟล์ หรือทั้งหมด แล้วกด Extract มุมซ้ายบน
เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip
  1. เลือกโฟลเดอร์ปลายทางในไฟล์แมเนเจอร์ แล้วกด Extract มุมขวาบน
เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip
  1. เมื่อแตกเสร็จ สามารถกด Show the Files (แสดงไฟล์) ได้
เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

ไฟล์กลับมาขนาดเต็ม สำเนายังคงอยู่ในไฟล์บีบอัด

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

Zip ไฟล์ใน Linux Terminal

เปิดเทอร์มินัล ไปที่ไดเรกทอรีที่มีไฟล์ต้องการบีบอัด พิมพ์คำสั่ง zip ziptest.zip *

zip เรียกใช้โปรแกรม zip ziptest.zip คือชื่อไฟล์บีบอัด asterisk (*) คือ wildcard หมายถึงบีบอัดไฟล์ทั้งหมดในโฟลเดอร์นี้

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

โปรแกรมจะบีบอัด แสดงรายชื่อไฟล์ และบอกเปอร์เซ็นต์ที่บีบอัดได้ (deflated)

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

คำสั่ง zip มีตัวเลือกมากมาย พิมพ์ zip –help เพื่อดูรายการ

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

Unzip ไฟล์ใน Linux Terminal

ในเทอร์มินัล ใช้คำสั่ง unzip ziptest.zip โดย unzip คือคำสั่ง ziptest.zip คือชื่อไฟล์บีบอัด

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

จะแสดงไฟล์ที่กำลังแตกออกมา รู้ได้ว่าทำเสร็จเมื่อไหร่

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

เหมือน zip คำสั่ง unzip ก็มีตัวเลือกมาก พิมพ์ unzip –help เพื่อดู

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

Bzip2 สำหรับ Zip และ Unzip ใน Linux

Bzip2 เป็นโปรแกรมบีบอัดอีกตัวที่อยู่ใน distro ส่วนใหญ่ จุดแตกต่างคือ bzip2 ไม่สามารถรวมหลายไฟล์เป็นไฟล์บีบอัดเดียวได้ แต่ละไฟล์จะได้ไฟล์บีบอัดแยกกัน

Zip ไฟล์ด้วย Bzip2 ใน Terminal

พิมพ์ bzip2 -kv9 testfile1.txt testfile2.txt

-kv9 แปลว่า k = keep (เก็บไฟล์ต้นฉบับ) v = verbose (แสดงรายละเอียด) 9 = ระดับบีบอัดสูงสุด (1-9) ยิ่งสูง ยิ่งนาน

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

ผลลัพธ์แสดงรายละเอียดมากกว่า zip แต่ขนาดไฟล์เกือบเท่ากัน

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

Unzip ด้วย Bzip2 ใน Terminal

พิมพ์ bzip2 -kvd testfile1.txt.bz2 testfile2.txt.bz2 โดย -kvd คือ k keep archives v verbose d decompress

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

แสดงไฟล์ที่กำลังแตก รู้ได้ว่าทำเสร็จเมื่อไหร่

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

ดูตัวเลือก bzip2 พิมพ์ bzip2 –help ลองเล่นกับไฟล์ไม่สำคัญเพื่อดูความสามารถ

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

Gzip สำหรับ Zip และ Unzip ใน Linux

Gzip เป็นตัวบีบอัดยอดนิยมตัวสุดท้ายที่มากับ distro ส่วนใหญ่ เบากว่า bzip2 และ zip ด้านตัวเลือก แต่คุณภาพการบีบอัดก็ประมาณเท่ากัน

Zip ด้วย Gzip ใน Terminal

พิมพ์ gzip -kv9 testfile1.txt testfile2.txt (หมายเหตุ: คำสั่งคือ gzip ไม่ใช่ gzip2) ตัวเลือก -kv9 เหมือน bzip2

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

จาก verbose output เห็นว่า gzip ทำงานได้ประมาณเท่า Zip อื่นๆ

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

Unzip ด้วย Gzip ใน Terminal

มี 2 วิธี: ใช้ gzip หรือ gunzip

สำหรับ gzip: gzip -kvd testfile1.txt.gz testfile2.txt.gz ตัวเลือก d = decompress

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

สำหรับ gunzip: gunzip testfile1.txt.gz testfile2.txt.gz ไม่ต้องใส่ตัวเลือกสำหรับการแตกพื้นฐาน

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

Tar สำหรับ Zip และ Unzip ใน Linux?

ทำไมยังไม่ได้พูดถึง tar? มันคือเครื่องมือเก็บถาวร (archiving) รวมหลายไฟล์เป็นไฟล์เดียวเพื่อส่งถ่ายง่าย ขนาดไฟล์ tar จะเท่ากับขนาดรวมของไฟล์ต้นฉบับ

แต่ถ้ารวมวิธีบีบอัดกับ tar จะได้แพ็กเกจเดียวที่บีบอัดแล้ว วิธี zip อื่นๆ บนโฟลเดอร์จะได้ไฟล์บีบอัดแยกต่อไฟล์ แต tar กับ gzip บนโฟลเดอร์จะบีบอัดทั้งหมดเป็นไฟล์เดียว

Zip ด้วย Tar และ Gzip ใน Terminal

พิมพ์ tar -czvf Documents.tgz Documents

-czvf แปลว่า c = create สร้างไฟล์เก็บถาวรใหม่ z = compress with gzip v = verbose f = file = archive (เก็บโครงสร้างไฟล์)

ชื่อไฟล์ใหม่คือ Documents.tgz 副檔名 .tgz บอกว่าเป็น tar ที่ gzip แล้ว สุดท้าย Documents คือโฟลเดอร์ที่จะบีบอัด

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

ผลลัพธ์ประมาณนี้

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

ใน File Manager เห็นไฟล์ tar ที่บีบอัดแล้ว

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

Unzip ด้วย Tar และ Gzip ใน Terminal

แตกไฟล์ tar.gz ใช้คำสั่ง tar เดียวกัน ตัวเลือกต่างออกไป

พิมพ์ tar -xzvf Documents.tgz Documents

-xzvf แปลว่า x = extract z = unzip with gzip v = verbose f = file=archive (เก็บโครงสร้าง) Documents.tgz คือไฟล์ที่จะแตก Documents คือโฟลเดอร์ปลายทาง

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

ผลลัพธ์: ไฟล์ 2 ไฟล์กลับมาขนาดเต็ม อยู่ในโฟลเดอร์ Documents

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

ดูตัวเลือก tar พิมพ์ tar –help จะได้หลายหน้า มีวิธีบีบอัดอื่นนอกจาก gzip ให้เลือก

เครื่องมือ Zip ที่นิยมน้อยกว่าใน Linux

ยังมีเครื่องมือบีบอัดอีก 2 ตัวใน distro ส่วนใหญ่ แต่นิยมน้อย อยู่ในรายการเพื่อให้รู้จัก

LZMA

LZMA เป็นโปรแกรมบีบอัดบรรทัดคำสั่งที่พบบ่อยใน Linux เป็นอัลกอริทึมที่ 7-Zip ใช้

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

XZ

XZ เป็นเครื่องมือบีบอัดบรรทัดคำสั่งที่มากับ Linux ตัวเลือกคล้าย bzip2 基於 LZMA2 algorithm ซึ่งพัฒนาจาก LZMA

เรียนรู้การบีบอัดไฟล์ใน Linux: 7 วิธีที่มีประสิทธิภาพสำหรับการ Zip และ Unzip

ดูรายละเอียดเพิ่มเติมพิมพ์ lzma –help และ xz –help

ยังมีวิธี Zip และ Unzip อื่นใน Linux อีกไหม?

เราเพียงครอบคลุมเครื่องมือที่มากับ distro ส่วนใหญ่ Linux ยังมีวิธีอื่นอีกมาก บางตัวมี GUI บางตัว CLI บางตัวทั้งคู่ คุณใช้เครื่องมือไหนบ้าง? ชอบตัวไหนและทำไม? แชร์ในความคิดเห็นได้เลย!