5
Linux แยกความแตกต่างระหว่างไฟล์จริงและไม่อยู่ (เช่น: อุปกรณ์) อย่างไร
นี่เป็นคำถามระดับต่ำและฉันเข้าใจว่าอาจไม่ใช่สถานที่ที่ดีที่สุดสำหรับการถาม แต่ดูเหมือนจะเหมาะสมกว่าเว็บไซต์ SE อื่น ๆ ดังนั้นที่นี่จะไป ฉันรู้ว่าบนระบบไฟล์ Linux บางไฟล์มีอยู่จริงตัวอย่างเช่น: /usr/bin/bashเป็นไฟล์ที่มีอยู่จริง อย่างไรก็ตาม (เท่าที่ผมเข้าใจมัน) บางคนก็ไม่ได้มีอยู่จริงเช่นนี้และมีมากขึ้นเสมือนไฟล์เช่น: /dev/sda, /proc/cpuinfoฯลฯ คำถามของฉัน (พวกเขาเป็นสอง แต่เกี่ยวข้องอย่างใกล้ชิดเกินไปที่จะเป็นคำถามที่แยกต่างหาก): เคอร์เนลของ Linux ทำงานอย่างไรว่าไฟล์เหล่านี้เป็นของจริง (และอ่านจากดิสก์) หรือไม่เมื่อมีการใช้คำสั่ง read (หรือเช่นนั้น)? หากไฟล์ไม่จริง: เป็นตัวอย่างที่อ่านจาก/dev/randomจะกลับข้อมูลแบบสุ่มและอ่านจากจะกลับมา/dev/null EOFมันทำงานอย่างไรข้อมูลที่จะอ่านจากไฟล์เสมือนนี้ (และดังนั้นสิ่งที่จะทำเมื่อ / ถ้าข้อมูลที่เขียนไปยังไฟล์เสมือนด้วย) - มีแผนที่บางชนิดที่มีพอยน์เตอร์เพื่อแยกคำสั่งอ่าน / เขียนที่เหมาะสมสำหรับแต่ละไฟล์ หรือแม้แต่สำหรับไดเรกทอรีเสมือนเอง ดังนั้นรายการสำหรับก็สามารถกลับ/dev/nullEOF