ชื่อไฟล์ถูกเก็บไว้ในระบบไฟล์ที่ไหน?
ไม่ได้อยู่ใน inode หรือเนื้อหาของไฟล์จริงเนื่องจากเรามีฮาร์ดลิงก์ที่ชื่อไฟล์สองไฟล์สามารถชี้ไปที่ไอโหนดเดียวกัน
.
ในตัวเอง
ชื่อไฟล์ถูกเก็บไว้ในระบบไฟล์ที่ไหน?
ไม่ได้อยู่ใน inode หรือเนื้อหาของไฟล์จริงเนื่องจากเรามีฮาร์ดลิงก์ที่ชื่อไฟล์สองไฟล์สามารถชี้ไปที่ไอโหนดเดียวกัน
.
ในตัวเอง
คำตอบ:
ฉันไม่พบสำเนาที่เหมาะสมดังนั้นนี่คือคำตอบสำหรับคำถามของคุณ
สิ่งที่สกัดมา
ชื่อไฟล์และผลกระทบของไดเรกทอรี:
- inodes ไม่มีชื่อไฟล์เฉพาะข้อมูลเมตาของไฟล์อื่น ๆ
- ไดเร็กทอรี Unix คือรายการของโครงสร้างการเชื่อมโยงซึ่งแต่ละไฟล์มีหนึ่งชื่อไฟล์และหมายเลขไอโหนดหนึ่ง
- ไดรเวอร์ระบบไฟล์ต้องค้นหาไดเร็กทอรีที่ค้นหาชื่อไฟล์เฉพาะจากนั้นแปลงชื่อไฟล์ให้เป็นหมายเลข inode ที่ถูกต้อง
ที่มา: หน้า Wikipedia บน Inode
ดังนั้นชื่อของไฟล์จะถูกเก็บไว้ในโครงสร้างข้อมูลของไดเรกทอรี ตัวอย่างเช่น:
สิ่งที่สกัดมา
ในระบบไฟล์ EXT2 ไดเรกทอรีเป็นไฟล์พิเศษที่ใช้ในการสร้างและถือพา ธ การเข้าถึงไฟล์ในระบบไฟล์ รูปที่ 9.3 แสดงโครงร่างของรายการไดเรกทอรีในหน่วยความจำ
ไฟล์ไดเร็กทอรีคือรายการของรายการไดเร็กทอรีแต่ละไฟล์มีข้อมูลต่อไปนี้:
- inode - inode สำหรับรายการไดเรกทอรีนี้ นี่คือดัชนีลงในอาร์เรย์ของ inodes ที่จัดขึ้นในตาราง Inode ของกลุ่มบล็อก ในรูปที่ 9.3 รายการไดเร็กทอรีสำหรับไฟล์ที่ชื่อ file มีการอ้างอิงถึงหมายเลข inode i1
- name length - ความยาวของรายการไดเร็กทอรีนี้เป็นไบต์
- ชื่อ - ชื่อของรายการไดเรกทอรีนี้
สองรายการแรกสำหรับทุกไดเรกทอรีเป็นมาตรฐาน
.
และ..
รายการหมายถึง "ไดเรกทอรีนี้" และ "ไดเรกทอรีหลัก" ตามลำดับ
นี่คือรูปที่ 9.3การอ้างอิงด้านบน:
ที่มา: โครงการเอกสารลินุกซ์: ระบบไฟล์
ชื่อไฟล์จะถูกเก็บไว้ในไดเรกทอรีที่เกี่ยวข้อง ("ไฟล์ไดเรกทอรี") รายการนี้ชี้ไปที่ไอโหนด
ชื่อไฟล์จะถูกเก็บไว้ในโครงสร้างข้อมูล "ไดเรกทอรี" ซึ่งมี "(สตริง) ชื่อไฟล์" และ inode "(int) inode" ที่สอดคล้องกัน ไดเรกทอรีรับผิดชอบการแม็พชื่อไฟล์ -> inode และ inode จะทำหน้าที่แมป inode -> sector บนดิสก์