The Art of Tar

ที่มาที่ไปของ blog ตอนนี้ก็คือ เนื่องจากว่า tar เป็นคำสั่งยูนิกส์อีกคำสั่งหนึ่งที่คิดว่านักพัฒนาหลายคนควรจะรู้จัก แต่มันเป็นปัญหาของผมเองว่าจะใช้ทีไรก็ต้องมานั่งหา options ที่จะต้องใช้อยู่เรื่อยๆ จำไม่ได้สักที เลยคิดว่ามีทางแก้อยู่ 2 วิธีคือ ใช้นี้คำสั่งบ่อยๆ หรือไม่ก็อ่านให้เข้าใจแล้วจับมาวางไว้ที่ไหนสักที่คงจะทำให้จำได้บ้าง อย่างน้อยก็มีแหล่งข้อมูลที่แน่นอนได้บ้าง

Tar File

Tar File

แล้ว tar คืออะไร

tar มาจากคำว่า “Tape ARchive” เป็นโปรแกรมที่มีจุดประสงค์ตรงไปตรงมาคือเอาไว้สำหรับทำ archive ไฟล์ ลงบน Tape [เป็นอุปกรณ์สำรองข้อมูลสมัยดึกดำบรรพ์] แต่ไม่ใช่เก็บอย่างเดียวเท่านั้นที่ tar ทำได้ เพราะ tar เองก็ยังให้เราปรับปรุงข้อมูลที่อยู่ในไฟล์ได้ตามต้องการ โดยที่ไม่จะเป็นต้องแกะไฟล์ออก แล้วเก็บเข้าไปใหม่ ปัจจุบันเวอร์ที่เขียนออกมา เป็นเวอร์ชั่น 1.22 [ออกเมื่อวันที่ 5 พ.ค. 2552]

วิธีใช้งาน

# tar [OPTIONS...] [FILE...]

วิธีการใช้งานก็ง่ายๆ แบบในตัวอย่าง คือใช้คำสั่ง tar ตามด้วย OPTIONS ที่ต้องการ เมื่อเสร็จแล้วเราจะได้ output เป็น tar file [*.tar] โดยจะมีที่จำเป็นต้องใช้และควรจำดังนี้ครับ

ออฟชั่นหลัก
  -c  สร้าง archive
  -d  หาความแตกต่างระหว่างไฟล์ใน archive และในไฟล์ต้นฉบับ
  -A  เพิ่มไฟล์ใหม่เข้าไปใน archive
  -r  เพิ่มไฟล์ใหม่โดยนำเอาไปต่อท้ายรายการของไฟล์ใน archive
  -t  แสดงรายการของไฟล์ที่มีทั้งหมดใน tar file
  -u  เพิ่มเฉพาะไฟล์ที่มีการแก้ไขเข้าไปใน tar file
  -x  แกะไฟล์ภายใน tar file

บีบอัดไฟล์
  -j  ใช้ filter bzip2 กับ tar file => *.tar.bz2, *.tb2, *.tbz2
  -z  ใช้ filter gzip กับ tar file => *.tgz, tar.gz

ตัวอย่าง

  # tar cf archive.tar foo bar      # สร้าง tar ไฟล์จาก 2 ไฟล์ ได้แก่ foo bar
  # tar tvf archive.tar             # แสดงรายชื่อไฟล์ใน archive.tar
  # tar xf archive.tar              # แกะไฟล์ archive.tar

ข้อมูลจาก
tar –help
Tar – GNU Project
GNU tar – Tutorial Introduction

Leave a Reply

blog comments powered by Disqus