linux中掛載詳解以及mount命令用法


  在windows下,mount掛載就是給磁盤分區,就是給磁盤分區提供一個盤符(C,D,E,...)。比如插入U盤后系統自動分配給了它I:盤符其實就是掛載,退優盤的時候進行安全彈出,其實就是卸載unmount。

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

  當插入了新硬盤時,分了新的磁盤區,sdb1,但是它現在還不屬於/。

  我們雖然可以在一些圖形桌面系統找到它的位置,瀏覽管理里面的文件,但在命令行卻不知道怎么訪問它的目錄,比如無法cd或者ls,也無法在編程時指定一個目錄對它操作,

  這時有人可以使用mount /dev/sdb1 ~/Share/,把新盤區的區sdb1掛載到工作目錄的 ~/Share/文件夾下,之后訪問這個~/Share/文件夾就相當於訪問這個硬盤2的sbd1分區了,對/Share/的任何操作,都相當於對sdb1里文件的操作。

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

  Linux操作系統將所有的設備都看作文件,它將整個計算機的資源都整合成一個大的文件目錄,我們要訪問存儲設備中的文件,必須將文件所在的分區掛載到一個已存在的目錄上,然后通過訪問這個目錄來訪問存儲設備。掛載就是把設備放在一個目錄下,讓系統知道怎么管理整個設備里的文件,了解整個存儲設備的可讀寫特性之類的過程

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

  不是它的目錄。雖然/dev是個目錄,但/dev/sdb1不是目錄。可以發現ls/dev/sdb1無法執行。/dev/sdb1,是一個類似指針的東西,指向這個分區的原始數據塊。mount前,系統並不知道這個數據塊哪部分數據代表文件,如何對它們操作。

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

linux中根目錄以外的文件想要被訪問,需要將其‘關聯’到根目錄下的某個文件中來實現,這個關聯操作就是掛載,這個目錄就是掛載點,解除這次關聯的過程稱為‘卸載’

注意:“掛載點”的目錄需要以下幾個要求:

  1. 目錄事先存在,可以mkdir創建新目錄
  2. 掛載點目錄不可以被其他進程使用到
  3. 掛載點下原有文件將被隱藏
參數說明
  • -V:顯示程序版本
  • -h:顯示輔助訊息
  • -v:顯示較訊息,通常和 -f 用來除錯。
  • -a:將 /etc/fstab 中定義的所有檔案系統掛上。
  • -F:這個命令通常和 -a 一起使用,它會為每一個 mount 的動作產生一個行程負責執行。在系統需要掛上大量 NFS 檔案系統時可以加快掛上的動作。
  • -f:通常用在除錯的用途。它會使 mount 並不執行實際掛上的動作,而是模擬整個掛上的過程。通常會和 -v 一起使用。
  • -n:一般而言,mount 在掛上后會在 /etc/mtab 中寫入一筆資料。但在系統中沒有可寫入檔案系統存在的情況下可以用這個選項取消這個動作。
  • -s-r:等於 -o ro
  • -w:等於 -o rw
  • -L:將含有特定標簽的硬盤分割掛上。
  • -U:將檔案分割序號為 的檔案系統掛下。-L 和 -U 必須在/proc/partition 這種檔案存在時才有意義。
  • -t:指定檔案系統的型態,通常不必指定。mount 會自動選擇正確的型態。
  • -o async:打開非同步模式,所有的檔案讀寫動作都會用非同步模式執行。
  • -o sync:在同步模式下執行。
  • -o atime、-o noatime:當 atime 打開時,系統會在每次讀取檔案時更新檔案的『上一次調用時間』。當我們使用 flash 檔案系統時可能會選項把這個選項關閉以減少寫入的次數。
  • -o auto、-o noauto:打開/關閉自動掛上模式。
  • -o defaults:使用預設的選項 rw, suid, dev, exec, auto, nouser, and async.
  • -o dev、-o nodev-o exec、-o noexec允許執行檔被執行。
  • -o suid、-o nosuid:
  • 允許執行檔在 root 權限下執行。
  • -o user、-o nouser:使用者可以執行 mount/umount 的動作。
  • -o remount:將一個已經掛下的檔案系統重新用不同的方式掛上。例如原先是唯讀的系統,現在用可讀寫的模式重新掛上。
  • -o ro:用唯讀模式掛上。
  • -o rw:用可讀寫模式掛上。
  • -o loop=:使用 loop 模式用來將一個檔案當成硬盤分割掛上系統。

掛載方法

將/dev/hda1 掛載/mnt之下

#mount /dev/hda1  /mnt

將/dev/hda1 用唯讀模式掛載/mnt 之下

#mount -o ro /dev/hda1 /mnt

將 /tmp/image.iso 這個光碟的 image 檔使用 loop 模式掛在 /mnt/cdrom之下。用這種方法可以將一般網絡上可以找到的 Linux 光 碟 ISO 檔在不燒錄成光碟的情況下檢視其內容。

#mount -o loop /tmp/image.iso /mnt/cdrom

 


免責聲明!

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



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