Teenager I
有人可以給我解釋一下,為什麼 Linux 的文件系統是「單目錄層階樹狀」結構,而不像 Windows 那樣有個 C: D: 分區啥的,這樣做有沒有特別的原因呢?
為瞭便於理解,我們可以把這種結構想象成一棵樹,文件的樹,其中有一些目錄其實也是文件。但是有一個例外的目錄,它自身的指針隻指向一個單一的,確定的目錄,那就Root目錄。它沒有明確地被其他目錄所指,root目錄隻是隱式地代表一個虛擬的分支,我們稱這個分支結構為「文件系統」。 在任何時候,用戶都處於一個目錄下面,我們稱它為「工作目錄(working directory)」,用戶可以通過指定入口訪問工作目錄下面的文件。而且多個用戶可以同時工作在同一個工作目錄之下。 在其他各個方面,Multics 追求的是靈活性,用戶隻需工作在整個文件系統的一條分支上,其他的不用管,但還能保證用目錄管理文件的便捷性。目錄還被用來控制訪問權限 —— 目錄的 READ 屬性允許用戶訪問目錄中的文件,而 EXECUTE 屬性允許用戶修改目錄中的文件 (這個特性被後來的unix系統繼承下來)。
雖然系統根目錄一般都在同一個存儲設備上,但是對於其他分支目錄則未必要這樣做。出於兩種考慮,我們需要 mount命令完成存儲設備掛載的工作:普通文件的文件名一致性,和文件所在的存儲設備可能有其獨立的文件存儲結構。通過mount命令,可以把之前的一個文件,替換成一個可移動存儲設備上的完整的目錄結構,事實上,mount命令把文件層級的某一部分,通過引用外部數據,替換成一個新的結構。這樣對於之前整個文件系統來說,沒有發生任何改變。其實,拿我們的系統安裝過程舉例,root目錄一直在我們的硬盤上占瞭一小塊地方,但其他用戶數據在不同的硬盤上,通過mount機制,按序列加載組成一個初始化的系統。一個「可掛載」的系統,完全是通過讀寫特殊文件完成的。各種應用可以創建自己的文件系統,或者簡單地從他處拷貝一份。 (小編註:上面這段文字的中心思想:在UNIX中,一切都是文件。)
舉報
Adult
發表回復 回帖後跳轉到最後一頁
Archiver|手機版|SAY討論區
GMT+8, 2026-7-3 02:38 , Processed in 0.732539 second(s), 11 queries .
Powered by go2tutor.com|Discuz! X2
© 2026 Community Networks Limited