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