Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

Inodes ใน Linux คืออะไรและใช้อย่างไร?

ทุกอย่างใน Linux ถือเป็นไฟล์เพื่อรักษาความสม่ำเสมอ ซึ่งรวมถึงอุปกรณ์ฮาร์ดแวร์ เครื่องพิมพ์ ไดเร็กทอรี และกระบวนการต่างๆ ไฟล์ทั่วไป เช่น เพลง ข้อความ วิดีโอ และไฟล์มัลติมีเดียอื่นๆ ยังมีข้อมูลเพิ่มเติมที่เกี่ยวข้องกับไฟล์เหล่านี้ซึ่งเรียกว่าข้อมูลเมตา

Inodes ใน Linux คืออะไร? รายการไอโหนดเป็นพื้นฐานของระบบไฟล์ลินุกซ์ พวกเขาจัดการข้อมูลเมตาเกี่ยวกับไฟล์และเป็นส่วนประกอบสำคัญของการทำงานภายในของ Linux

    Inodes ใน Linux คืออะไรและใช้อย่างไร?

    โครงสร้างของระบบไฟล์คืออะไร

    ระบบไฟล์แบ่งออกเป็นสองส่วน - บล็อกข้อมูลและไอโหนด จำนวนบล็อกจะคงที่เมื่อสร้างแล้วและไม่สามารถเปลี่ยนแปลงได้

    ชื่อ เส้นทาง ตำแหน่ง ลิงก์ และแอตทริบิวต์ของไฟล์อื่นๆ ไม่อยู่ในไดเร็กทอรี ไดเร็กทอรีเป็นเพียงตารางที่มีชื่อไฟล์ที่มีหมายเลขไอโหนดตรงกัน

    คุณสามารถสร้างฮาร์ดลิงก์ซึ่งส่งผลให้มีชื่อมากกว่าหนึ่งชื่อสำหรับไฟล์เดียวกัน เมื่อคุณสร้างฮาร์ดลิงก์ มันจะสร้างชื่อใหม่ในตารางด้วยไอโหนดแต่จะไม่ย้ายไฟล์

    หากคุณต้องย้ายไฟล์ขนาดใหญ่จะใช้เวลานาน การสร้างรายการชื่อในไดเร็กทอรีใหม่และลบรายการเก่าจะมีประสิทธิภาพมากกว่า คุณยังเปลี่ยนชื่อไฟล์ได้ด้วยวิธีเดียวกัน

    ส่วนบนสุดของลำดับชั้นคือระบบไฟล์เอง ภายในระบบไฟล์มีชื่อไฟล์ ชื่อไฟล์เชื่อมโยงกับ inodes ไอโหนดเชื่อมโยงกับข้อมูลทางกายภาพ

    Inodes ใน Linux คืออะไรและใช้อย่างไร?

    ไอโหนดใน Linux คืออะไร

    ไอโหนดเป็นโครงสร้างข้อมูล มันกำหนดไฟล์หรือไดเร็กทอรีบนระบบไฟล์และเก็บไว้ในรายการไดเร็กทอรี Inodes ชี้ไปที่บล็อกที่ประกอบเป็นไฟล์ ไอโหนดมีข้อมูลการดูแลระบบทั้งหมดที่จำเป็นในการอ่านไฟล์ ข้อมูลเมตาของไฟล์ทุกไฟล์ถูกเก็บไว้ในไอโหนดในโครงสร้างตาราง

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

    Inodes มักจะอยู่ใกล้จุดเริ่มต้นของพาร์ติชัน พวกเขาเก็บข้อมูลทั้งหมดที่เกี่ยวข้องกับไฟล์ยกเว้นชื่อไฟล์และข้อมูลจริง ไฟล์ทั้งหมดในไดเร็กทอรี Linux มีชื่อไฟล์และหมายเลขไอโหนด ผู้ใช้สามารถดึงข้อมูลเมตาสำหรับไฟล์โดยอ้างอิงหมายเลขไอโหนด

    ชื่อไฟล์และหมายเลขไอโหนดถูกเก็บไว้ในดัชนีแยกและเชื่อมโยงไปยังไอโหนด คุณสามารถเชื่อมโยงไปยังข้อมูลเมตาที่แสดงถึงไฟล์ เป็นไปได้ที่จะมีหลายชื่อไฟล์ที่เชื่อมโยงไปยังข้อมูลหรือไอโหนดเดียวดังที่คุณเห็นในภาพด้านล่าง

    Inodes ใน Linux คืออะไรและใช้อย่างไร?

    จำนวนไอโหนดคืออะไร

    ไอโหนดทุกตัวในโครงสร้าง Linux มีหมายเลขเฉพาะที่ระบุอยู่ด้วย เรียกอีกอย่างว่าหมายเลขดัชนีและมีคุณลักษณะดังต่อไปนี้:

    • ขนาด
    • เจ้าของ
    • วันที่/เวลา
    • การอนุญาตและการควบคุมการเข้าถึง
    • ตำแหน่งบนดิสก์
    • ประเภทไฟล์
    • จำนวนลิงค์
    • ข้อมูลเมตาเพิ่มเติมเกี่ยวกับไฟล์

    ในการตรวจสอบรายการหมายเลขไอโหนด ให้ใช้คำสั่งต่อไปนี้:

    ls -i

    ภาพหน้าจอด้านล่างแสดงไดเร็กทอรีที่มีหมายเลขไอโหนดปรากฏในคอลัมน์ซ้ายสุด

    Inodes ใน Linux คืออะไรและใช้อย่างไร?

    ไอโหนดทำงานอย่างไร

    เมื่อคุณสร้างไฟล์ใหม่ ไฟล์จะถูกกำหนดชื่อไฟล์และหมายเลขไอโหนด ทั้งสองรายการถูกจัดเก็บเป็นรายการในไดเร็กทอรี รันคำสั่ง ls (ls -li ) จะแสดงรายการชื่อไฟล์และหมายเลขไอโหนดที่จัดเก็บไว้ในไดเร็กทอรี

    ใช้คำสั่งด้านล่างเพื่อแสดงรายการข้อมูลไอโหนดสำหรับแต่ละระบบไฟล์

    df -สวัสดี

    Inodes ใน Linux คืออะไรและใช้อย่างไร?

    คุณใช้ไอโหนดกี่ตัว

    วิธีหนึ่งที่จะไม่ใช้พื้นที่ในระบบไฟล์จนหมดคือการใช้ไอโหนดทั้งหมดของคุณ แม้ว่าคุณจะมีพื้นที่ว่างเพียงพอบนดิสก์ของคุณ คุณจะไม่สามารถสร้างไฟล์ใหม่ได้

    การใช้ไอโหนดจนหมดอาจทำให้ระบบของคุณหยุดกะทันหัน หากต้องการดูรายการสถิติเกี่ยวกับการใช้ไอโหนด เช่น ใช้ ฟรี และเปอร์เซ็นต์ที่ใช้ ให้พิมพ์คำสั่งต่อไปนี้:

    sudo df -ih

    Inodes ใน Linux คืออะไรและใช้อย่างไร?

    วิธีการใช้ไอโหนดเพิ่มเติม

    วิธีการทำงานของ inodes ใน Linux ทำให้ไม่สามารถมีหมายเลขไอโหนดที่ขัดแย้งกันได้ ไม่สามารถสร้างฮาร์ดลิงก์ข้ามระบบไฟล์ต่างๆ ได้ อย่างไรก็ตาม คุณสามารถใช้ซอฟต์ลิงก์กับระบบไฟล์ต่างๆ ได้ คุณสามารถลบไฟล์ต้นฉบับและยังคงมีข้อมูลผ่านฮาร์ดลิงก์

    โดยการลบไฟล์ สิ่งที่คุณทำคือลบชื่อใดชื่อหนึ่งที่ชี้ไปยังหมายเลขไอโหนดเฉพาะ ข้อมูลจะยังคงอยู่จนกว่าคุณจะลบชื่อทั้งหมดที่เกี่ยวข้องกับหมายเลขไอโหนดเดียวกัน ระบบ Linux อัปเดตโดยไม่ต้องรีบูตระบบส่วนใหญ่เนื่องจากวิธีการทำงานของ inodes

    กระบวนการสามารถใช้ไฟล์ไลบรารีได้ในเวลาเดียวกัน กระบวนการอื่นแทนที่ไฟล์เดียวกันด้วยเวอร์ชันที่อัปเดตที่ใหม่กว่าและสร้างไอโหนดใหม่ กระบวนการทำงานยังคงใช้ไฟล์เก่าอยู่ ครั้งต่อไปที่คุณใช้กระบวนการเดิม มันจะใช้เวอร์ชันใหม่

    ผู้ใช้ไม่ได้โต้ตอบโดยตรงกับ inodes แต่เป็นตัวแทนขององค์ประกอบพื้นฐานของโครงสร้างไฟล์ Linux