ในการบีบอัดไฟล์ใน Linux ปกติเราก็อาจจะใช้โปรแกรมที่เป็น GUI มาช่วย แต่ในบางกรณ์ เราอาจจะต้อง remote ไปยังเครื่องอื่น แล้วเครื่องนั้นไม่สามารถลงโปรแกรมแบบ GUI ได้ อย่างเช่น เครื่อง Server แล้วเราต้องการไฟล์จากเครื่องนั้น ลำพังจะดาวน์โหลดทีละไฟล์ก็แสนจะลำบาก จะดีกว่าไหม ถ้าเราจะบีบไฟล์ไว้ก่อน แล้วค่อยดาวน์โหลดทีเดียว
โดยปกติเราสามารถบีบ .zip ได้เลย โดยไม่ต้องลงติดตั้งโปรแกรมเพิ่ม แต่ในกรณีนี้ผมอยากได้ .7zip ซึ่งเป็นไฟล์ที่มีขนาดเล็กกว่า .zip และมีความเข้ารหัสที่ดีกว่า ดังนั้นในบทความนี้เราจะมาดูวิธีการบีบอัดไฟล์และโฟลเดอร์เป็น .7zip ด้วย bash script กัน
การติดตั้ง p7zip
สำหรับ Linux ที่ใช้งานเป็น Debian และ Ubuntu สามารถติดตั้งโดยใช้คำสั่ง
sudo apt-get install p7zip-full
สำหรับ Linux ที่ใช้งานเป็น Arch Linux สามารถติดตั้งโดยใช้คำสั่ง
sudo pacman -S p7zip
สำหรับ Linux ที่ใช้งานเป็น Fedora สามารถติดตั้งโดยใช้คำสั่ง
sudo dnf install p7zip
สำหรับ Linux ที่ใช้งานเป็น CentOS สามารถติดตั้งโดยใช้คำสั่ง
sudo yum install p7zip
สำหรับ Linux ที่ใช้งานเป็น openSUSE สามารถติดตั้งโดยใช้คำสั่ง
sudo zypper install p7zip
สำหรับ macOS สามารถติดตั้งโดยใช้ Homebrew ได้ โดยการติดตั้ง Homebrew สามารถดูได้ที่ https://brew.sh/
brew install p7zip
การบีบอัดไฟล์และโฟลเดอร์
การบีบอัดไฟล์และโฟลเดอร์เป็น .7zip สามารถทำได้โดยใช้คำสั่ง
7z a sample.7z sample
โดย sample คือชื่อไฟล์ที่ต้องการบีบอัด และ sample.7z คือชื่อไฟล์ที่ได้จากการบีบอัด
เราสามารถกำหนดระดับการบีบอัดได้ โดยใช้คำสั่ง -mx=9
7z a -mx=9 sample.7z sample
ซึ่ง 9 คือระดับการบีบอัดสูงสุด และค่าเริ่มต้นคือ 7
การแตกไฟล์ .7zip
ทำได้ง่ายๆ โดยใช้คำสั่งตามนี้
7z x sample.7z
โดย sample.7z คือชื่อไฟล์ที่ต้องการแตก
และนี่ก็คือการบีบอัดและแตกไฟล์ .7zip ด้วย p7zip โดยใช้งานผ่าน Command Line Interface ซึ่งพอใช้คล่องๆ แล้ว รู้สึกชีวิตสะดวกสบายขึ้นมาก ก็หวังว่าบทความนี้จะเป็นประโยชน์แก่ทุกท่านที่เข้ามาอ่านนะครับ