1. 程式人生 > >Linux學習筆記(二):什麼是掛載?mount的用處在哪?

Linux學習筆記(二):什麼是掛載?mount的用處在哪?

關於掛載的作用一直不是很清楚,今天在閱讀教材時看見了mount這個命令,發現它的用處很隱晦但非常強大。奈何教材說的不明朗,因此在網上整合了一些優秀的解釋,看完之後豁然開朗。

1.提一句Windows下,mount掛載,就是給磁碟分割槽提供一個碟符(C,D,E,...)。比如插入U盤後系統自動分配給了它I:碟符其實就是掛載,退優盤的時候進行安全彈出,其實就是解除安裝unmount。

2.Linux下,不像Windows可以有C,D,E,多個目錄,Linux只有一個根目錄/。在裝系統時,我們分配給linux的所有區都在/下的某個位置,比如/home等等。

3.提問者插入了新硬碟,分了新磁碟區sdb1。它現在還不屬於/。

4.我們雖然可以在一些圖形桌面系統裡找到他的位置,瀏覽管理裡面的檔案,但在命令列卻不知怎麼訪問它的目錄,比如無法使用cd或者ls。也無法在程式設計時指定一個目錄對它操作。

5.這時提問者使用了 mount /dev/sdb1 ~/Share/ ,把新硬碟的區sdb1掛載到工作目錄的~/Share/資料夾下,之後訪問這個~/Share/資料夾就相當於訪問這個硬碟2的sdb1分割槽了。對/Share/的任何操作,都相當於對sdb1裡檔案的操作。

6.所以Linux下,mount掛載的作用,就是將一個裝置(通常是儲存裝置)掛接到一個已存在的目錄上。訪問這個目錄就是訪問該儲存裝置。

7.linux作業系統將所有的裝置都看作檔案,它將整個計算機的資源都整合成一個大的檔案目錄。

我們要訪問儲存裝置中的檔案,必須將檔案所在的分割槽掛載到一個已存在的目錄上,然後通過訪問這個目錄來訪問儲存裝置。掛載就是把裝置放在一個目錄下,讓系統知道怎麼管理這個裝置裡的檔案,瞭解這個儲存裝置的可讀寫特性之類的過程。

8.我們不是有/dev/sdb1 嗎,直接對它操作不就行了?這不是它的目錄嗎?

9.這不是它的目錄。雖然/dev是個目錄,但/dev/sdb1不是目錄。可以發現ls/dev/sdb1無法執行。/dev/sdb1,是一個類似指標的東西,指向這個分割槽的原始資料塊。mount前,系統並不知道這個資料塊哪部分資料代表檔案,如何對它們操作。

10.插入CD,系統其實自動執行了 mount /dev/cdrom /media/cdrom。所以可以直接在/media/cdrom中對CD中的內容進行管理。