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 ซึ่งช่วยให้การจัดการไฟล์หลายๆ ไฟล์ให้มีขนาดเล็กลงและทำให้การส่งหรือเก็บไฟล์ง่ายขึ้น การเลือกเครื่องมือที่เหมาะสมจะช่วยให้การทำงานกับไฟล์เป็นไปอย่างมีประสิทธิภาพ