Author Topic: บีบอัด แตก ไฟล์แต่ล่ะแบบ tar gz bz2  (Read 13995 times)

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
บีบอัด แตก ไฟล์แต่ล่ะแบบ tar gz bz2
« on: มกราคม 23, 2011, 12:32:21 AM »
ฟอร์แมตแรกที่จะแนะนำก็คือ gzip ย่อมาจาก GNU zip คำสั่งก็ตรงไปตรงมาครับ ก็คือ

gzip filename.txt

หลังจากกด enter ไปไฟล์ filename.txt ของเราจะหายไป แล้วกลายร่างเป็น filename.txt.gz เสียแล้ว
แต่ใครยังอยากเก็บไฟล์ต้นฉบับไว้อยู่ก็ให้ใส่ -c เข้าไปซึ่งเป็นการบอกให้ gzip แสดงเข้ามาออกทาง
standard output จากนั้นเราก็ทำการเปลี่ยนทิศทางไปยังไฟล์ที่เราต้องการ

gzip -c filename.txt > filename.txt.gz

ผลลัพธ์ที่ได้ก็จะเหมือนกับคำสั่งแรกต่างกันที่ต้นฉบับเรายังอยู่ ไม่ไปไหน
และถ้าเราอยากให้ไฟล์ที่ได้บีบกันแบบสุดๆ ก็ให้ใส่ -9 แต่ถ้าอยากได้ความเร็วก็ใส่ -1
จริงแล้วเราสามารถใช้ค่าได้ตั้งแต่ -1 ถึง -9 อย่างเช่น

gzip -9 filename.txt

แต่ถ้าใครอยากใช้ -9 ตลอดแต่ไม่อยากพิมพ์ทุกครั้งก็ให้เซ็น environment variable ดังนี้

export GZIP="-9"

อะพอเราบีบเสร็จ ก็ต้องทำการแตกไฟล์ ก็ทำโดย

gunzip filename.txt.gz

และเหมือนเดิมไฟล์ .gz จะหายไป ถ้าไม่อยากให้หายก็ต้องทำอย่างนี้

gzip -c filename.txt.gz > filename.txt

เป็นยังไงสำหรับฟอร์แมตแรก ใช้ไม่อยากเลย อะฟอร์แมตที่สองที่จะแนะนำก็คงเป็น bzip2 นั่นเอง
ซึ่งอันนี้มาทีหลัง gzip แต่บีบได้เล็กกว่า รูปแบบคำสั่งก็จะคล้ายกัน ดังนี้

bzip2 filename.txt

เราก็จะได้ filename.txt.bz2 มา แต่ไฟล์ต้นฉบับก็จะหายไป
ถ้าไม่อยากให้หายไม่ต้องทำการเปลี่ยนทิศทางให้เมื่อยเหมือน gzip เพราะมี option -k มาให้ k ย่อมาจาก
keep ก็ใช้ง่ายๆ ดังนี้

bzip2 -k filename.txt

และเหมือนกันกับ gzip ซึ่งมีระดับการบีบอัด ตั้งแต่ 1 ถึง 9 ซึ่ง 1 จะใช้เวลาน้อยที่สุด ส่วน 9
จะบีบอัดได้สูงสุด

bzip2 -9 filename.txt

ไหนๆ ก็เหมือนกันมาเยอะแล้ว ก็ต้องกำหนดค่า default ได้โดย

export BZIP2="-9"

และถ้าเราอยากแตกไฟล์ออกก็ใช้คำสั่ง

bunzip2 filename.txt.bz2

ซึ่งไฟล์ .bz2 ก็จะหายไป ถ้าไม่อยากให้หายก็ใส่ -k ไปด้วยน้า

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

tar -cvf test.tar filename.txt mydir

คำสั่งขั้นบนจะเป็นการนำไฟล์ filename และไดเร็กทอรี่ mydir มา tar แล้วเก็บไว้ในชื่อไฟล์ text.tar โดย
option c หมายถึงเป็นการสร้างไฟล์ tar -v เป็นการแสดงรายละเอียดขณะทำงาน และ -f
หมายถึงระบุชื่อไฟล์ที่เราต้องซึ่งก็คือ test.tar

อะและถ้าเราต้องการ extract ไฟล์ก็ทำได้โดย

tar -xvf test.tar

ซึ่ง -x หมายถึงการ extract นั่นเอง ขั้นตอนต่อไปจะเป็นการรวมพลังกันระหว่างการบีบอัดและการ tar
ถ้าเราต้องการรวมพลัง tar กับ gzip ก็ใช้คำสั่ง

tar -cvzf test.tar.gz filename.txt mydir

ซึ่งเราจะ tar ไฟล์ filename.txt และไดเร็กทอรี่ก่อน แล้วจึงทำการบีบอัดด้วย gzip แต่ถ้าใครชอบ bzip2
ก็ให้ใช้คำสั่

tar -cvjf test.tar.bz2 filename.txt mydir

จะเห็นว่าถ้าเป็น gzip เราจะใช้ option -z แต่ถ้าเป็น bzip2 จะเป็น -j อะดังนั้นถ้าเราต้องการ extract
ก็ให้ใช้คำสั่ง สำหรับ gzip

tar -xvzf test.tar.gz

และ bzip2 ก็จะเป็น

tar -xvjf test.tar.gz

เรียบร้อยครับ เป็นยังไงใช้กันไม่อยากครับ ตรงไปตรงมา ไปและ



Special Thank = http://www.logicdream.com
« Last Edit: พฤศจิกายน 18, 2011, 10:20:07 AM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: บีบอัด แตก ไฟล์แต่ล่ะแบบ gz bz2
« Reply #1 on: พฤศจิกายน 18, 2011, 10:19:18 AM »
Create archive file
#tar -cf  remote.tar  remote

Extract archive file
#tar -xf remote.tar
#cd remote