Filesystems
為什麼我們將文件系統掛載到特定位置,而不是將它們留在“/dev/…./”?
如果我要在 Linux 機器上安裝物理文件系統,為什麼要將該文件系統安裝到自定義位置?為什麼不把文件系統放在它的設備路徑上呢?“/開發/….”
為什麼不把文件系統放在它的設備路徑上呢?
我不認為這樣做是可取的。結果將是所有軟體都需要以某種方式了解您插入的設備。
如果您查看 MS Windows 是如何做到的(使用驅動器號),佈局會受到環境變數的限制,例如
%HOMEPATH%
. 如果您在另一個硬碟驅動器上有很多音樂,則無法告訴您的軟體E:
是某個使用者的音樂文件夾。在 *nix 系統中這個問題不存在。如果您希望您的音樂在另一個 HD 上,那麼只需添加一個條目即可
/etc/fstab
將其掛載到,/home/me/Music
並且無需告知軟體更改。此外,下面的名稱
/dev
實際上也不穩定。例如,您可以在啟動之前插入 USB 硬碟驅動器,並且有可能分配它/dev/sda
而不是您的內部驅動器。這將使配置任何東西變得非常困難,因為您無法保證分配了哪些名稱。實際上,基於將相似類型的事物分組在一起而不是過度關注它們的儲存位置來佈局文件系統實際上更有意義。
文件系統層次標準部分基於需求對事物進行分組。這允許一些非常有用的技巧,例如將整個
/usr
文件放到只讀網路文件系統 ( NFS ) 中,同時將每台機器的配置單獨保存在可寫文件中/etc
。它允許系統管理員決定應該將什麼儲存在哪裡,而使用者和軟體通常不需要知道這一點,也不想跟踪它。
值得注意的是,即使在 Windows(至少是 Windows Server)下,同樣的技術也是可能的,並且驅動器可以安裝在文件系統中的任何其他位置。