ไฟล์ TAR คืออะไร??
ไฟล์ที่มีนามสกุล .tar เป็นไฟล์เก็บถาวรที่สร้างขึ้นด้วยยูทิลิตีที่ใช้ระบบปฏิบัติการ Unix เพื่อรวบรวมไฟล์ตั้งแต่หนึ่งไฟล์ขึ้นไป ไฟล์หลายไฟล์ถูกจัดเก็บในรูปแบบที่ไม่มีการบีบอัด โดยรองรับการเพิ่มไฟล์และโฟลเดอร์ในไฟล์เก็บถาวร ยูทิลิตี้ TAR บน Unix เป็นแบบคำสั่ง แต่ไฟล์ที่สร้างขึ้นด้วยเหตุนี้จะได้รับการสนับสนุนโดยระบบเก็บถาวรไฟล์ส่วนใหญ่ในระบบปฏิบัติการเกือบทั้งหมด มันถูกสร้างครั้งแรกในปี 1979 โดย AT&T Bell Laboratories และรุ่นต่อมาได้รับการตีพิมพ์เมื่อเวลาผ่านไป
รูปแบบไฟล์ TAR
TAR เป็นรูปแบบไฟล์เปิดที่มีคุณสมบัติครบถ้วนสำหรับการอ้างอิงของนักพัฒนา โครงสร้างไฟล์เป็นมาตรฐานใน POSIX.1-1988 และใหม่กว่าใน POSIX.1-2001 ชุดข้อมูลที่สร้างโดย tar จะเก็บข้อมูลเกี่ยวกับพารามิเตอร์ระบบไฟล์ เช่น:
- ชื่อ
- แสตมป์เวลา
- กรรมสิทธิ์
- สิทธิ์การเข้าถึงไฟล์
- องค์กรไดเรกทอรี
ไฟล์ Tar ไม่มีเลขวิเศษ ประกอบด้วยชุดของบล็อกโดยแต่ละบล็อกมีขนาด BLOCKSIZE ไบต์
แต่ละไฟล์ที่เก็บถาวรจะแสดงด้วยบล็อกส่วนหัวซึ่งอธิบายไฟล์ ตามด้วยบล็อกศูนย์หรือมากกว่าซึ่งให้เนื้อหาของไฟล์ ที่ส่วนท้ายของไฟล์เก็บถาวรจะมีบล็อกขนาด 512 ไบต์สองบล็อกที่มีเลขฐานสองเป็นตัวทำเครื่องหมายจุดสิ้นสุดของไฟล์ ระบบที่เหมาะสมควรเขียนเครื่องหมายสิ้นสุดของไฟล์ที่ส่วนท้ายของไฟล์เก็บถาวร แต่ต้องไม่ถือว่าบล็อกดังกล่าวมีอยู่เมื่ออ่านไฟล์เก็บถาวร โดยเฉพาะอย่างยิ่ง GNU tar จะออกคำเตือนเสมอหากไม่พบ
บล็อกอาจถูกบล็อกสำหรับการดำเนินการ I/O ทางกายภาพ แต่ละบันทึกของ n บล็อก (โดยที่ n ถูกตั้งค่าโดยตัวเลือก blocking-factor = 512-size เป็น tar) จะถูกเขียนด้วยการดำเนินการ “write()” เพียงครั้งเดียว บนเทปแม่เหล็ก ผลลัพธ์ของการเขียนดังกล่าวคือบันทึกเดียว เมื่อเขียนไฟล์เก็บถาวร ควรเขียนบันทึกสุดท้ายของบล็อกในขนาดเต็ม โดยบล็อกที่อยู่หลังบล็อกศูนย์จะมีเลขศูนย์ทั้งหมด เมื่ออ่านไฟล์เก็บถาวร ระบบที่เหมาะสมควรจัดการไฟล์เก็บถาวรที่มีบันทึกล่าสุดสั้นกว่าที่เหลือ หรือมีบันทึกขยะหลังจากการบล็อกเป็นศูนย์
ส่วนหัวของ Tar
เช่นเดียวกับส่วนหัวของไฟล์อื่นๆ ระเบียนส่วนหัวของไฟล์ tar จะมีข้อมูลเมตาเกี่ยวกับไฟล์และแสดงในตารางต่อไปนี้
ฟิลด์ออฟเซ็ต | ขนาดฟิลด์ (ไบต์) | ฟิลด์ |
---|---|---|
0 | 100 | ชื่อไฟล์ |
100 | 8 | โหมดไฟล์ |
108 | 8 | รหัสผู้ใช้ที่เป็นตัวเลขของเจ้าของ |
116 | 8 | ID ผู้ใช้ที่เป็นตัวเลขของกลุ่ม |
124 | 12 | ขนาดไฟล์เป็นไบต์ (ฐานแปด) |
136 | 12 | เวลาแก้ไขล่าสุดในรูปแบบเวลา Unix ตัวเลข (ฐานแปด) |
148 | 8 | ผลรวมตรวจสอบสำหรับเร็กคอร์ดส่วนหัว |
156 | 1 | ตัวบ่งชี้ลิงก์ (ประเภทไฟล์) |
157 | 100 | ชื่อไฟล์ที่ลิงก์ |
ช่องที่ไม่ได้ใช้จะเต็มไปด้วย NUL ไบต์ ส่วนหัวประกอบด้วย 257 ไบต์ซึ่งเสริมด้วย NUL ไบต์เพื่อให้เต็มระเบียน 512 ไบต์