您好,登錄后才能下訂單哦!
這篇文章主要介紹了Linux下如何使用mount掛載目錄,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
Linux 是一切皆文件,整個系統都是當做文件來管理,在Windows中的磁盤分區,硬件設備就是Linux的掛載點,對磁盤的訪問就相當于對Linux中掛載點文件的讀寫操作。
掛載點相當于磁盤文件系統的入口目錄,相當于Windows中的C盤,D盤,E盤,其實WinXP也支持將分區掛載到某個文件夾,只是人們在win系統中習慣了用磁盤分區。
mount基本語法
mount [參數] /dev/sdb1(需要掛載的分區) /sdb1(掛載目錄)
參數是可選的,也可以不帶參數,參數的使用方法(-o ro,sync,atime)。
參數:
-t:指定文件系統類型
mount -t ext4 /dev/sdb1 /sdb1
-o:指定掛載選項
ro,rw:只讀或者讀寫的方式掛載,默認是rw.
sync:不適用緩存,所有操作直接讀寫磁盤。
async:適用緩存,默認方式。
noatime:每次訪問文件時不更新文件的訪問時間。
atime:每次訪問文件時更新文件的訪問時間,默認方式。
user:任何用戶都可以掛載
nouser:只有超級用戶才可以掛載
auto:系統開機自動掛載
noauto:系統開機不自動掛載
remount:重新掛載文件系統。
查看當前已掛載的分區
mount
通過mount不帶參數命令可以查看當前系統的所有掛載分區情況,包括分區的掛載點、分區類型、參數等。
查看掛載分區下的文件 ls /sdb1
每個掛載分區下面都會有一個Lost+found文件夾,該文件夾用來存放文件的損壞數據,例如使用fsck檢查分區命令的錯誤信息就寫入該文件夾(命令:fsck /dev/sdb1)。
修改分區只讀
mount -o remount,ro /dev/sdb1 /sdb1
把sdb1修改為只讀后,使用touch無法創建文件。
不更新文件訪問時間
mount -o remount,rw,noatime /dev/sdb1 /sdb1
特別是對性能要求很高的系統中,可以將文件系統設為不更新訪問文件的時間,比如存放數據庫文件的分區,由于訪問非常頻繁,如果每次訪問都更新訪問時間對性能會造成一定的影響,這時我們可以將該分區設置成不更新訪問文件的時間來提高性能。
stat命令
可以使用stat命令查看文件的訪問時間
stat test
這里是因為我后面對參數做過修改,加上noatime參數后確實不會對訪問時間進行修改,大家可以試一下;
不使用緩存
開啟緩存的目的是為了提高讀寫的性能,即你對一個數據的讀寫先讀寫緩存,因為緩存的讀寫速度要遠遠高于磁盤,這樣就會提高讀寫的性能,但是帶來性能的同時也會存在丟失修改的風險,當寫入緩存的時候突然斷電那么這個時候緩存的數據就有可能會丟失了,造成沒有寫入磁盤。不過現在linux文件系統類型比如ext3,ext4默認都會記錄日志,即分區中會存在128M大小的日志空間用來記錄對磁盤的讀寫操作,這也是為了保證數據的丟失修改的一個措施。如果對數據要求很嚴格的系統可以不適用緩存,但是絕大多數情況下都是適用緩存,這也是linux默認的方式。
mount -o remount,rw,noatime,sync /dev/sdb1 /sdb1
umount語法
umount /dev/sdb1(分區) 或者 umount /sdb1(掛載點)
卸載sdb1分區
卸載失敗,這里提示設備繁忙
fuser命令
可以使用fuser命令查看文件系統占用的進程
fuser -m /sdb1(掛載點) 或者 fuser -m /dev/sdb1(分區)
可以看到2821進程正在占用。
lsof命令
查看正在被使用的文件,losf命令是list open file的縮寫。
lsof /sdb1(掛載點)
通過losf命令可以查看正在被使用的文件,可以看到是bash正在使用,因為當前我就是在sdb1文件夾下面,當前的命令窗口正在使用,切換到別的目錄下面
當切換到別的路徑下面后,再使用umount命令就可以卸載分區,使用mount查看分區信息可以看到sdb1分區已經被卸載了.
mount掛載分區在系統重啟之后需要重新掛載,修改/etc/fstab文件可使掛載永久生效
vim /etc/fstab# UUID=9905757a-a2a3-4a4a-abc7-ece61efeb531 / ext4 defaults 1 1 UUID=7981f23f-e636-474c-bf10-65adc5c56397 /boot ext4 defaults 1 2 UUID=d0000d2a-a161-4961-b843-d4ba060ad24c swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/sdb6 /sdb6 ext4 sync,noatime 0 0
file system:第一列是分區號
mount point:掛載點
type:文件類型
option:-o參數,defaults: rw, suid, dev, exec, auto, nouser, and async
如果不使用default默認參數,那么可以使用逗號分隔指定參數 ro,rw:只讀或者讀寫的方式掛載,默認是rw. sync:不適用緩存,所有操作直接讀寫磁盤。 async:適用緩存,默認方式。 noatime:每次訪問文件時不更新文件的訪問時間。 atime:每次訪問文件時更新文件的訪問時間,默認方式。 user:任何用戶都可以掛載 nouser:只有超級用戶才可以掛載 auto:系統開機自動掛載 noauto:系統開機不自動掛載
dump:當其值設置為1時,將允許dump備份程序備份;設置為0時,忽略備份操作
pass:fsck磁盤檢查設置,其值是一個順序。當其值為0時,永遠不檢查;而 / 根目錄分區永遠都為1。其它分區從2開始,數字越小越先檢查,如果兩個分區的數字相同,則同時檢查。
通過mont和df命令查看到的邏輯分區名和配置文件中配置的邏輯分區名不一樣,但是二者的意思是一樣的,不要被誤解
補充
掛載ios鏡像文件
mount -o loop iso鏡像文件 掛載點
例:
mount -o loop CentOS-6.7-x86_64-bin-DVD1.iso /iso
使掛載立即生效
sync
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Linux下如何使用mount掛載目錄”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。