淺談Linux分區和掛載(點)


分區和掛載(點)

Windows

在windows下,分區是有明顯的界限的,就比如這樣:

在“此電腦”中的C盤、D盤、E盤等,都是分區。一般情況下,系統安裝在C盤,其他分區一般用來存放資料,但是linux下的分區和windows不同。

Linux——分區就是文件夾

其實這么說並不准確,因為Linux下“分區”的概念是比較模糊的。

Linux是以樹的結構存儲文件的。不管你的電腦中有幾塊硬盤(即便沒有),也不管硬盤分了幾個區,Linux都會給你整出來個根目錄,也就是上圖中最頂層的“/”。一旦你安裝了Linux,它就會在根目錄下創建幾個文件夾,這些文件夾的名字是“root”、“home”、“dev”等等。路徑分別是“/root”、“/home”、“/dev”等。

眾所周知,存儲文件需要硬盤。Linux這波操作光搞了個目錄,但是與硬盤和分區沒有任何關系,那么這些文件夾和之后要寫入的文件存在哪里啊?這就引入了Linux下“掛載”的概念。

分區就是個文件夾!

在linux下,你可以像windows一樣創建分區,但是並不像windows一樣,創建完就給你顯示在“此電腦”中(默認是這樣的,也可以設置不顯示)。但是在Linux下,要想使用一個分區,必須先要掛載。

前面說過,Linux下的根目錄里是要存東西的,要想存東西,就要有硬盤。所以Linux的做法是:將根目錄下的某一部分(也有可能是全部)與分區建立對應關系。

打個比方,打開你的文件管理器,在里面的地址欄中輸入“/”,然后在空白區域右擊,選擇“屬性”。

Screenshot_20200104_154532.png

然后你應該可以看到掛載點和掛載的分區。其中,分區並不像Windows那樣以盤符表示,而是一個文件。關於這個文件的意義,我們以后再說。

Screenshot_20200104_153959.png

而這個掛載點就是根目錄“/”,也就是說,根目錄下的所有文件,都存在了這個分區里?

其實並不是這樣的,這個分區只是和根目錄建立了一個對應關系,並不代表根目錄中所有文件都存在了這個分區中。

再舉個例子,插上你的U盤,如果你用的是KDE、GNOME這樣的桌面環境,應該可以通過簡單的動動鼠標,進入這個U盤。

Screenshot_20200104_160153-1.png

而這時,點擊文件管理器中的地址欄,你會得到一個路徑,就像這樣:

Screenshot_20200104_160310.png

然后,在根目錄下,按照這個目錄,打開這個文件夾。

比如,我的是“/run/media/archer/7BD2-F1FA/”,於是我現在根目錄下找到“run”文件夾,打開,再找到“media”文件夾,打開,在找到並打開“archer”文件夾(我的用戶名),然后打開“7BD2-F1FA”文件夾。

然后,你就會發現:

這不就是我U盤里的東西嗎

Screenshot_20200104_160941.png

在頁面的空白處,右擊,點擊“屬性”。“掛載點”那一欄寫的就是你剛才打開的文件夾的路徑,而“掛載自”一欄也是 /dev 目錄下的一個文件,sd**代表這是一個分區。

這時,你可能就會發現:

這個U盤(准確地說是這個分區)就是一個文件夾!!

沒錯,分區本身,在Linux下是一個在 /dev 目錄下的文件,你可以把它掛載到目錄樹的一個文件夾下,你才可以訪問這個分區中的文件。

這個實驗也表明了,Linux下的掛載點是可以嵌套的。你可以將任何一個分區掛載到任何一個目錄(除了根目錄必須作為一個掛載點掛載磁盤),這就為Linux的文件管理提供了無限的可能。比如說,我的Linux目錄樹是這樣的:

003vPl7Rty6E8kZRlAEdc690_1.jpg

至於我為什么要把 /home 文件夾里的內容存到一個單獨的分區里,這個以后再說。

在Linux下如何查看我的分區情況

Linux下,有一個分區工具叫做 fdisk ,你可以以root用戶運行以下命令查看分區情況:

# fdisk -l

就像這樣:

Screenshot_20200104_163440-1.png

其中"nvme"開頭的是NVMe協議的硬盤(一般是固態),而sd開頭的是通過SATA、SCSI、USB這些接口傳輸數據的存儲設備,loop開頭一般是光盤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM