aspose.info
TH

TAR - รูปแบบไฟล์เก็บถาวร Unix

อัปเดตเมื่อ

ไฟล์ 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 จะมีข้อมูลเมตาเกี่ยวกับไฟล์และแสดงในตารางต่อไปนี้

ฟิลด์ออฟเซ็ตขนาดฟิลด์ (ไบต์)ฟิลด์
0100ชื่อไฟล์
1008โหมดไฟล์
1088รหัสผู้ใช้ที่เป็นตัวเลขของเจ้าของ
1168ID ผู้ใช้ที่เป็นตัวเลขของกลุ่ม
12412ขนาดไฟล์เป็นไบต์ (ฐานแปด)
13612เวลาแก้ไขล่าสุดในรูปแบบเวลา Unix ตัวเลข (ฐานแปด)
1488ผลรวมตรวจสอบสำหรับเร็กคอร์ดส่วนหัว
1561ตัวบ่งชี้ลิงก์ (ประเภทไฟล์)
157100ชื่อไฟล์ที่ลิงก์

ช่องที่ไม่ได้ใช้จะเต็มไปด้วย NUL ไบต์ ส่วนหัวประกอบด้วย 257 ไบต์ซึ่งเสริมด้วย NUL ไบต์เพื่อให้เต็มระเบียน 512 ไบต์

อ้างอิง

ดูเพิ่มเติม