2021-05-12 14:32:11
Linux掛載命令mount 詳解
在Linux作業系統中,mount命令是用於載入檔案系統到指定的載入點。此命令最常用於掛載cdrom,使我們可以存取cdrom中的資料,當你將光碟插入cdrom中時,Linux並不會自動掛載,必須使用Linux mount命令來手動完成掛載。在這裡需要注意的是,掛載點必須是一個已經存在的目錄,這個目錄可以不為空,但掛載後這個目錄下以前的內容將不可用,只有在umount解除安裝以後才會恢復正常,而且只有目錄才能被掛載,檔案不可以被掛載,而如果掛載在非空目錄下可能會導致系統異常,所以建議掛載在空目錄下。對於經常使用的裝置可寫入檔案/etc/fastab,以使系統在每次開機時自動載入。mount載入裝置的資訊記錄再/etc/mtab檔案中,可使用umount命令解除安裝清除記錄。
###用法: mount+掛載源 +掛載點 umount+掛載源 /掛載點
---------------------------------------------------------------------------------------
###引數:
-r 唯讀
-w 讀寫 預設
-F:這個命令通常和 -a 一起使用,它會為每一個 mount 的動作產生一個行程負責執行。在系統需要掛上大量 NFS 檔案系統時可以加快掛上的動作。
-f:通常用在除錯的用途。它會使 mount 並不執行實際掛上的動作,而是模擬整個掛上的過程。通常會和 -v 一起使用。
-v:顯示較訊息,通常和 -f 用來除錯。
-L:將含有特定標籤的硬碟分割掛上。
-U:將檔案分割序號為 的檔案系統掛下。-L 和 -U 必須在/proc/partition 這種檔案存在時才有意義。
-t:指定檔案系統的型態,通常不必指定。mount 會自動選擇正確的型態。
-n:一般而言,mount 在掛上後會在 /etc/mtab 中寫入一筆資料。但在系統中沒有可寫入檔案系統存在的情況下可以用這個選項取消這個動作。而在這種操作下,運用mount命令跟df命令均無法檢視掛載資訊,但可以用proc/mounts檢視,注意在linux作業系統中直接輸入mount命令,可以查詢已掛載的資訊。
-a:將 /etc/fstab 中定義的所有檔案系統掛上,此操作可實現開機自動掛載的要求。而當寫入/etc/fstab檔案後,掛載操作也可以只指定掛載源或掛載點,範例說明
(1)我們先把“/dev/sdb /app/testdisk ext4 defaults 0 0”掛載資訊寫入“/etc/fstab”檔案中,並檢視系統掛載資訊,可以看到/dev/sdb並未完成掛載。
(2)然後我們重新啟動系統,並再次查詢掛在資訊,這次我們就可以看到/dev/sdb已被掛載。
(3)我們現在返回到第二步之前,我們不重新啟動系統然後執行以下“mount -a”命令,再查詢掛載資訊,你會發現“/dev/sdb”又被掛載了。
由此,我們可以得出,實際上當計算機開機的時候也就相當於執行了“mount -a”命令,它把“/etc/fstab”檔案裡的所有掛載資訊全都執行了一遍。而當“/etc/fstab”檔案裡有掛載資訊後,我們在系統裡就可以只輸入掛載源或掛載點,然後系統就會自動從“/etc/fstab”檔案讀取剩餘資訊,並完成掛載,操作如下
或輸入
-B 目錄掛載目錄,檔案掛載檔案 “df”命令無法查詢但 可以用“df -a”檢視。我們先建立一個新目錄“test”,之前知道在系統如果執行mount /app app/test 操作,系統就會報錯,提示“/app”不是塊裝置,但我們執行“mount -B /app app/test”就可以成功掛載,範例如下
“df”命令查不到,但用“df -a”可以檢視到,如圖
但我們從圖上可以看出掛載在“/app/test”上的掛載源跟“/app”的掛載源是一樣的,也就是說並不是把“/app”掛載在“app/test”上,而是把“/app”的源“/dev/sda5”掛載在“/app/test”上。
-o async:開啟非同步模式,所有的檔案讀寫動作都會用非同步模式執行。-o async為預設設定
-o sync:在同步模式下執行。
-o atime、-o noatime:當 atime 開啟時,系統會在每次讀取檔案時更新檔案的『上一次呼叫時間』。當我們使用 flash 檔案系統時可能會選項把這個選項關閉以減少寫入的次數。-o atime 為預設設定,範例說明,如下
(1)我們先在“hello”檔案下寫入內容,然後在“touch hello”使它的時間戳保持一致
(2)我們看一下“hello”這個檔案,就可以改變它的“atime”,也就是說只要有存取“atime”就會更新
(3)那我們如果想要關閉“atime”存取自動更新,就可以在掛載的時候進行“mount -o noatime”操作
這樣我們就可以發現當有存取的時候,“atime”也一直都保持不變,這樣我們就關閉了“ayime”時間。
-o auto、-o noauto:開啟/關閉自動掛上模式。-o auto 為預設設定
-o dev、-o nodev-o exec、-o noexec允許執行檔被執行。-o dev 為預設設定
-o suid、-o nosuid:表示該目錄下的suid,sgid許可權生效/不生效。-o suid 為預設設定
-o user、-o nouser:使用者可以執行 mount/umount 的動作。-o nouser 為預設設定
-o remount:將一個已經掛下的檔案系統重新用不同的方式掛上。例如原先是唯讀的系統,現在用可讀寫的模式重新掛上。
-o ro:用唯讀模式掛上。
-o rw:用可讀寫模式掛上。為預設設定
-o loop=:使用 loop 模式用來將一個檔案當成硬碟分割掛上系統。
-o defaults:使用預設的選項 rw, suid, dev, exec, auto, nouser, async,即預設設定。
---------------------------------------------------------------------------------------
###findmnt
findmnt MOUNT_POINT|device 檢視掛載情況,操作如下
---------------------------------------------------------------------------------------
###解除安裝
umount 解除掛載命令
注意,進程正在使用的裝置無法被解除安裝。
lsof +掛載點,檢視在指定掛載點上執行的程式,顯示其進程號 kill +進程號 可以結束指定進程
當你結束了進程以後就可以執行解除安裝命令啦
fuser+掛載點 可以檢視並殺死在掛載點上執行的程式
-v 詳細檢視
-m 遞回,如不加m,只檢視掛載點自身,不檢視子目錄
-k 結束進程
-vmk 組合選項可以一起使用
到這裡,關於mount命令的介紹基本上就結束了,總體上來說mount命令還是相對比較容易接受和掌握的,只要記清mount命令選項,在Linux裡掛載、解除安裝將會變得非常的容易。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址:https://www.linuxidc.com/Linux/2018-08/153385.htm
相關文章