/ proc, / usr, / var, / home เรียกว่าระบบไฟล์
นั่นหมายความว่าอย่างไร? ฉันคิดว่ามีเพียงระบบไฟล์เดียว (เช่น ext4) ..
/ proc, / usr, / var, / home เรียกว่าระบบไฟล์
นั่นหมายความว่าอย่างไร? ฉันคิดว่ามีเพียงระบบไฟล์เดียว (เช่น ext4) ..
คำตอบ:
คำว่า "ระบบไฟล์" มีความหมายหลายประการ เมื่อผู้คนพูดถึงชื่อระบบไฟล์เช่น ext4, UFS, NTFS เป็นต้นพวกเขามีความคิดในการจัดเก็บข้อมูลในระดับต่ำ (ในแง่ของบล็อกบนสื่อ) "ระบบไฟล์" ดังกล่าวมักจะต้องใช้ไดรเวอร์ในการเข้าถึงข้อมูลที่เก็บไว้ในสื่อที่จัดรูปแบบด้วยระบบไฟล์นั้น ในกรณีของ/proc
, /usr
, root file system
หรือระบบไฟล์บางสิ่งบางอย่างเพียงหมายถึงโครงสร้างไดเรกทอรี
เทคนิคใน Linux ทุกไดเรกทอรีสามารถเป็นจุดเชื่อมต่อสำหรับระบบไฟล์ สิ่งนี้อนุญาตให้คุณเลือกชนิดของระบบไฟล์ที่ดีที่สุด (ext4, ufs, xfs ฯลฯ ) สำหรับแต่ละไดเร็กทอรีขึ้นอยู่กับลักษณะของข้อมูลที่จัดเก็บและข้อกำหนดด้านความปลอดภัย
ฉันเชื่อว่าในกรณีของคุณไดเรกทอรีเหล่านั้นเรียกว่า "ระบบไฟล์" เพราะมักจะใช้เป็นจุดเชื่อมต่อสำหรับระบบไฟล์แต่ละระบบ /proc
เป็นจุดเชื่อมต่อสำหรับprocfs
ระบบไฟล์หลอกที่แสดงข้อมูลเกี่ยวกับกระบวนการและข้อมูลระบบอื่น ๆ ในโครงสร้างคล้ายไฟล์แบบลำดับชั้น
มีเพียงไม่กี่ไดเรกทอรีซึ่งสามารถได้รับการพิจารณาเป็นระบบไฟล์: /dev
, และ/sys
/tmp
/ procเป็นโฟลเดอร์ที่พิเศษมากและไม่ได้เก็บไว้ในดิสก์ แต่อยู่ในหน่วยความจำและใช้เพื่อให้ข้อมูลเกี่ยวกับระบบ (CPU, RAM, อุปกรณ์ .. ) ดังนั้นจึงใช้ระบบไฟล์พิเศษ (ไม่ใช่ ext4) ที่เรียกว่า procfs คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ Wikipedia: procfs
โดยปกติแล้ว/ usr , / varและ/ homeโดยทั่วไปแล้ว (อย่างน้อยบนคอมพิวเตอร์เดสก์ท็อป) ที่เก็บไว้ในระบบไฟล์เดียวกัน (เช่น ext4) และบ่อยครั้งบนดิสก์เดียวกัน: เป็นโฟลเดอร์ปกติที่มีความหมายเฉพาะ เสมอในวิกิพีเดียที่คุณสามารถหาข้อมูลรายละเอียดเกี่ยวกับระบบแฟ้มลำดับชั้นมาตรฐาน
พวกเขาไม่ใช่ "ระบบไฟล์" จริง ๆ แต่ย่อหน้านี้ช่วยอธิบายการใช้ชื่อ (จากการอ้างอิง FHS 2.3 ):
ในการบูตระบบต้องมีอยู่บนพาร์ติชันรากเพื่อติดตั้งระบบไฟล์อื่น ๆ ซึ่งรวมถึงยูทิลิตี้การกำหนดค่าข้อมูลตัวโหลดการบูตและข้อมูลการเริ่มต้นระบบที่จำเป็นอื่น ๆ / usr, / opt และ / var ได้รับการออกแบบโดยอาจอยู่ในพาร์ติชั่นหรือระบบไฟล์อื่น
/proc
แต่ไม่/usr
, หรือ/var
/home
คุณสามารถนึกถึงระบบไฟล์เป็นโครงสร้างที่อนุญาตให้สร้างไฟล์ในอุปกรณ์เก็บข้อมูล ตัวอย่างเช่นอุปกรณ์เช่นพาร์ติชันฮาร์ดดิสก์ RAM หรืออุปกรณ์ USB เป็นต้น ประเภทระบบไฟล์เป็นรูปแบบที่ใช้ในการจัดเก็บข้อมูลในระบบไฟล์เช่น ext4, vfat หรืออื่น ๆ มากมาย ระบบไฟล์ (อุปกรณ์) สามารถติดตั้งเป็นไดเรกทอรี (โฟลเดอร์) หรือที่เรียกว่าจุดเชื่อมต่อ
ในการใช้งานระบบปฏิบัติการคุณต้องมีระบบไฟล์รูทซึ่งติดตั้งระบบปฏิบัติการไว้ สิ่งนี้ถูกเมาท์เป็น / (รูท) ในระหว่างการบู๊ตและระบบไฟล์อื่น ๆ ทั้งหมดจะถูกเมาท์ภายใต้ จากตัวอย่างที่คุณให้ / usr และ / var สามารถเป็นส่วนหนึ่งของระบบไฟล์รูทหรือระบบไฟล์แยกต่างหาก (พาร์ติชันที่แตกต่างกันในไดรฟ์เดียวกันหรือแตกต่างกันเป็น /) หากแยกระบบไฟล์พวกเขาอาจเป็นประเภทระบบไฟล์ที่แตกต่างจาก / (ฉันคิดว่า!) ในทางตรงกันข้าม / proc เป็นระบบไฟล์ใน RAM (หรือที่เรียกว่า RAM disk) ด้วยประเภทของตัวเองที่มีชื่อเดียวกัน proc
คำสั่ง mount บนเทอร์มินัลให้ข้อมูลนี้เกี่ยวกับระบบไฟล์ที่เมาท์ทั้งหมด: อุปกรณ์, จุดเมานท์, ประเภท ตัวอย่างเช่น
user@box:~$ mount
/dev/sda7 on /home type ext3 (rw,relatime,errors=remount-ro,commit=0)
proc on /proc type proc (rw)
ซึ่งหมายความว่าฉันติดตั้งพาร์ติชัน sda7 เป็น / home (พร้อมข้อมูลที่มีค่าทั้งหมดของฉัน!) และมันถูกฟอร์แมตด้วยประเภท ext3; device proc ถูกเมาท์บน / proc ด้วย type proc ได้รับอนุญาตสำหรับระบบไฟล์แต่ละระบบ (rw, ฯลฯ )
หนึ่งจุดสุดท้าย: ระบบไฟล์มักจะถูกอ้างถึงโดยจุดเชื่อมต่อของพวกเขา นั่นคือจากตัวอย่างข้างต้นฉันสามารถพูดได้ว่าอุปกรณ์ sda7 คือระบบไฟล์ / home ของฉัน สิ่งนี้ไม่ถูกต้องแม้ว่าจะชัดเจนสำหรับคนส่วนใหญ่: มันหมายถึงระบบไฟล์ตั้งใจที่จะติดตั้งด้วยจุดเมานท์ / บ้าน แต่ไม่มีอะไรหยุดฉันจากการติดตั้งระบบไฟล์ใน sda7 ภายใต้จุดเมานต์ / งาน / โรงแรมหรือ / sunny_beach แน่นอนข้อมูลดิบยังสามารถเข้าถึงได้โดยตรงภายใต้ / dev / sda7 (ติดตั้งหรือถอดออก) โดยไม่ต้องรู้ระบบไฟล์พื้นฐาน สิ่งนี้มีประโยชน์สำหรับการกู้คืนข้อมูลในกรณีที่ระบบไฟล์เสียหายเมื่อระบบไฟล์ไม่สามารถติดตั้งได้อีกต่อไป แต่อุปกรณ์ยังคงสามารถอ่านได้ อย่างไรก็ตามการเข้าถึงโดยตรงนั้นอาจเป็นหายนะและควรใช้ในกรณีพิเศษเท่านั้น