Skip to main content

การใช้ File Compression and Archiving ใน Linux

บทนำ​

การบีบอัดไฟล์และการทำแอ็คคีฟ (Archiving) เป็นเครื่องมือสำคัญในการจัดการไฟล์ในระบบ Linux โดยการบีบอัดไฟล์ช่วยลดขนาดไฟล์ให้เล็กลงเพื่อการเก็บรักษาและการถ่ายโอนที่สะดวกขึ้น ในขณะที่การทำแอ็คคีฟจะช่วยรวมไฟล์หลายๆ ไฟล์ไว้ในไฟล์เดียวเพื่อการจัดการที่ง่ายขึ้น ในบทนี้เราจะเรียนรู้การใช้คำสั่งต่างๆ ที่เกี่ยวข้องกับการบีบอัดและการทำแอ็คคีฟไฟล์ใน Linux

1. การบีบอัดไฟล์ (File Compression)​

1.1 การบีบอัดด้วย gzip​

gzip เป็นเครื่องมือบีบอัดไฟล์ที่ใช้กันอย่างแพร่หลายในการบีบอัดไฟล์ในรูปแบบ .gz

1.1.1 บีบอัดไฟล์​

gzip filename.txt

คำสั่งนี้จะบีบอัดไฟล์ filename.txt และสร้างไฟล์ใหม่ที่ชื่อ filename.txt.gz โดยจะลบไฟล์ต้นฉบับออกไป

1.1.2 บีบอัดหลายไฟล์​

gzip file1.txt file2.txt

คำสั่งนี้จะบีบอัดไฟล์ file1.txt และ file2.txt เป็นไฟล์ .gz แยกกัน

1.1.3 บีบอัดไฟล์ในไดเรกทอรี​

gzip -r /path/to/directory

คำสั่งนี้จะบีบอัดไฟล์ทั้งหมดในไดเรกทอรีที่กำหนด

1.1.4 การยกเว้นไฟล์จากการบีบอัด​

gzip --exclude="*.log" *

คำสั่งนี้จะบีบอัดไฟล์ทั้งหมดในไดเรกทอรี ยกเว้นไฟล์ที่มีนามสกุล .log

1.2 การบีบอัดด้วย bzip2​

bzip2 เป็นเครื่องมือบีบอัดไฟล์ที่สามารถบีบอัดได้ดีกว่า gzip และให้ผลลัพธ์เป็นไฟล์ .bz2

1.2.1 บีบอัดไฟล์​

bzip2 filename.txt

คำสั่งนี้จะบีบอัดไฟล์ filename.txt และสร้างไฟล์ที่ชื่อ filename.txt.bz2

1.2.2 บีบอัดหลายไฟล์​

bzip2 file1.txt file2.txt

คำสั่งนี้จะบีบอัดไฟล์ file1.txt และ file2.txt เป็นไฟล์ .bz2 แยกกัน

1.2.3 การบีบอัดไฟล์ในไดเรกทอรี​

bzip2 -r /path/to/directory

คำสั่งนี้จะบีบอัดไฟล์ทั้งหมดในไดเรกทอรีที่กำหนด

1.3 การบีบอัดด้วย xz​

xz เป็นเครื่องมือบีบอัดไฟล์ที่ให้ระดับการบีบอัดสูงสุดและสร้างไฟล์ .xz

1.3.1 บีบอัดไฟล์​

xz filename.txt

คำสั่งนี้จะบีบอัดไฟล์ filename.txt และสร้างไฟล์ที่ชื่อ filename.txt.xz

1.3.2 การบีบอัดหลายไฟล์​

xz file1.txt file2.txt

คำสั่งนี้จะบีบอัดไฟล์ file1.txt และ file2.txt เป็นไฟล์ .xz แยกกัน

2. การทำแอ็คคีฟ (Archiving)​

2.1 การสร้างแอ็คคีฟด้วย tar​

tar เป็นเครื่องมือที่ใช้ในการสร้างแอ็คคีฟจากหลายไฟล์และไดเรกทอรี โดยสามารถเลือกบีบอัดไฟล์ในเวลาเดียวกันด้วยคำสั่ง tar นี้

2.1.1 การสร้างแอ็คคีฟ​

tar -cf archive.tar file1.txt file2.txt

คำสั่งนี้จะสร้างแอ็คคีฟที่ชื่อ archive.tar ซึ่งประกอบด้วยไฟล์ file1.txt และ file2.txt

2.1.2 การสร้างแอ็คคีฟและบีบอัดด้วย gzip​

tar -czf archive.tar.gz file1.txt file2.txt

คำสั่งนี้จะสร้างแอ็คคีฟที่ชื่อ archive.tar.gz โดยบีบอัดไฟล์ด้วย gzip

2.1.3 การสร้างแอ็คคีฟและบีบอัดด้วย bzip2​

tar -cjf archive.tar.bz2 file1.txt file2.txt

คำสั่งนี้จะสร้างแอ็คคีฟที่ชื่อ archive.tar.bz2 โดยบีบอัดไฟล์ด้วย bzip2

2.1.4 การสร้างแอ็คคีฟและบีบอัดด้วย xz​

tar -cJf archive.tar.xz file1.txt file2.txt

คำสั่งนี้จะสร้างแอ็คคีฟที่ชื่อ archive.tar.xz โดยบีบอัดไฟล์ด้วย xz

2.2 การดูเนื้อหาในแอ็คคีฟ​

tar -tf archive.tar

คำสั่งนี้จะแสดงรายการของไฟล์ภายในแอ็คคีฟ archive.tar

2.3 การแตกแอ็คคีฟ​

2.3.1 การแตกแอ็คคีฟโดยไม่บีบอัด​

tar -xf archive.tar

คำสั่งนี้จะแตกแอ็คคีฟ archive.tar และนำไฟล์ภายในออกมา

2.3.2 การแตกแอ็คคีฟที่บีบอัดด้วย gzip​

tar -xzf archive.tar.gz

คำสั่งนี้จะแตกแอ็คคีฟ archive.tar.gz และนำไฟล์ภายในออกมา

2.3.3 การแตกแอ็คคีฟที่บีบอัดด้วย bzip2​

tar -xjf archive.tar.bz2

คำสั่งนี้จะแตกแอ็คคีฟ archive.tar.bz2 และนำไฟล์ภายในออกมา

2.3.4 การแตกแอ็คคีฟที่บีบอัดด้วย xz​

tar -xJf archive.tar.xz

คำสั่งนี้จะแตกแอ็คคีฟ archive.tar.xz และนำไฟล์ภายในออกมา

3. การบีบอัดไฟล์และทำแอ็คคีฟในคำสั่งเดียว​

บางครั้งคุณอาจต้องการบีบอัดไฟล์และทำแอ็คคีฟในคำสั่งเดียวกัน โดยใช้คำสั่ง tar ดังนี้:

tar -czf archive.tar.gz /path/to/directory

คำสั่งนี้จะสร้างแอ็คคีฟที่บีบอัดด้วย gzip จากไดเรกทอรี /path/to/directory

สรุป​

การบีบอัดไฟล์และการทำแอ็คคีฟเป็นเครื่องมือที่สำคัญในการจัดการไฟล์ใน Linux โดยสามารถทำได้ด้วยเครื่องมือพื้นฐานเช่น gzip, bzip2, xz, และ tar ซึ่งช่วยให้การจัดการไฟล์หลายๆ ไฟล์ให้มีขนาดเล็กลงและทำให้การส่งหรือเก็บไฟล์ง่ายขึ้น การเลือกเครื่องมือที่เหมาะสมจะช่วยให้การทำงานกับไฟล์เป็นไปอย่างมีประสิทธิภาพ