linux下面所有的檔案、目錄、裝置都有一個路徑,這個路徑永遠以/開頭,用/分隔,如果一個路徑是另一個路徑的字首,則這兩個路徑有邏輯上的父子關係。
但是並不是所有邏輯上的父子關係都必須要是同一個裝置,決定不同路徑對應到哪個裝置的機制就叫做mount(掛載)。透過mount,可以設定當前的路徑與裝置的對應關係。
每個裝置會設定一個掛載點,掛載點是一個空目錄。一般來說必須有一個裝置掛載在/這個根路徑下面,叫做rootfs。其他掛載點可以是/tmp,/boot,/dev等等,透過在rootfs上面建立一個空目錄然後用mount命令就可以將裝置掛載到這個目錄上。掛載之後,這個目錄下的子路徑,就會對映到被掛載的裝置裡面。
當訪問一個路徑時,會選擇一個能最大匹配當前路徑字首的掛載點。比如說,有/var的掛載點,也有/var/run的掛載點的情況下,訪問/var/run/test.pid,就會匹配到/var/run掛載點裝置下面的/test.pid。
同一個裝置可以有多個掛載點,同一個掛載點同時只能載入一個裝置。訪問非掛載點的路徑的時候,按照前面所說,其實是訪問最接近的一個掛載點,如果沒有其他掛載點那麼就是rootfs上的目錄或者檔案了。
實際上並不只有linux支援掛載點,Windows也是一樣支援的。去控制面板/管理工具/計算機管理 裡面,挑一個磁碟(比如D盤),然後給它分一個新的掛載點試試,比如C:\data
linux下面所有的檔案、目錄、裝置都有一個路徑,這個路徑永遠以/開頭,用/分隔,如果一個路徑是另一個路徑的字首,則這兩個路徑有邏輯上的父子關係。
但是並不是所有邏輯上的父子關係都必須要是同一個裝置,決定不同路徑對應到哪個裝置的機制就叫做mount(掛載)。透過mount,可以設定當前的路徑與裝置的對應關係。
每個裝置會設定一個掛載點,掛載點是一個空目錄。一般來說必須有一個裝置掛載在/這個根路徑下面,叫做rootfs。其他掛載點可以是/tmp,/boot,/dev等等,透過在rootfs上面建立一個空目錄然後用mount命令就可以將裝置掛載到這個目錄上。掛載之後,這個目錄下的子路徑,就會對映到被掛載的裝置裡面。
當訪問一個路徑時,會選擇一個能最大匹配當前路徑字首的掛載點。比如說,有/var的掛載點,也有/var/run的掛載點的情況下,訪問/var/run/test.pid,就會匹配到/var/run掛載點裝置下面的/test.pid。
同一個裝置可以有多個掛載點,同一個掛載點同時只能載入一個裝置。訪問非掛載點的路徑的時候,按照前面所說,其實是訪問最接近的一個掛載點,如果沒有其他掛載點那麼就是rootfs上的目錄或者檔案了。
實際上並不只有linux支援掛載點,Windows也是一樣支援的。去控制面板/管理工具/計算機管理 裡面,挑一個磁碟(比如D盤),然後給它分一個新的掛載點試試,比如C:\data