Linux下mount 詳解

  1. 介紹node

Linux系統中,磁盤分區是不可以直接訪問的,須要將其掛載到系統中的某一個目錄中(掛載點),而後經過訪問掛載點來實現分區的訪問. Unix類的操做系統如此,Windows也是同樣;但Unix類的操做系統是經過mount進行的,掛載文件系統時要有掛載點,在安裝Linux的過程當中,有時會提示咱們分區,而後創建文件系統,接着是選擇掛載點。咱們在Linux系統的使用過程當中,也會掛載其它的硬盤分區,也要選中掛載點,掛載點一般是一個空置的目錄,最好是咱們自建的空置目錄;linux

一些臨時設備也使用一些臨時的掛載點,一般位於/media , /media/floppy,/media/cdrom , /media/caeram. 一般將/dev/cdrom 掛載至/media/cdrom(mnt/cdrom) ,/dev/fd0 掛載/mnt/floppy (/media/floppy)windows

爲提高性能,內核對全部設備操做作緩衝,這種機制要求對文件系統先使用umont 進行卸載,不然會形成數據的丟失甚至文件系統的損壞, 由於暫存在內存的數據來不及寫回磁盤。服務器

 

掛載點:爲訪問磁盤上的分區,將文件系統的根目錄映射至/文件系統中的一個已經存在的目錄下。這個過程叫掛載。已經存在的目錄就稱爲掛載點。能夠用mount 查看系統當前的掛載狀況。掛載將遮住掛載點原來的文件網絡

掛載權限:默認只有根用戶才能掛載和卸載設備,臨時設備使用不一樣的機制,控制檯用戶會變成一些設備的全部者。異步

 

2. sysopsisasync

mount [option] <device> <mount_point>ide

mount [option][-o mount_option] <device> <mount_point>oop

[mount_point]必須是一個已經存在的目錄,這個目錄能夠不爲空,但掛載後這個目錄下原有內容不可訪問umount之後會恢復正常。性能

[device] 能夠是一個分區,一個usb設備,光驅,軟盤,網絡共享等。

 

完整選項說明

-t vfstype 

掛載指定的文件系統類型:adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs, xiafs

 

通常文件類型,能夠不須要指定就能夠有相同自動檢測(adfs, bfs, cramfs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, ntfs, qnx4, reiserfs, romfs, udf, ufs, vxfs, xfs, xiafs 等文件系統),若是探測失敗,就將訪問/etc/filesystems ,以指定文件系統探測。說明:若是清楚文件系統,最好指定具體類型。探測錯誤將帶來災難性的。

多個文件系統能夠用「,」分割開來

mount -a -t nomsdos,ext 

將掛載fstab文件指定全部的文件系統,除了類型爲 msdos ext 的那一些。

常見文件類型

  1. vfat  可掛載FAT32

  1. ext2 linux目前經常使用的文件系統

  2. msdos MS-DOSfat,就是fat16 vfat

  3. windows98經常使用的fat32

  4. nfs 網絡文件系統

  5. smbfs windows共享系統

  6. iso9660 CD-ROM光盤標準文件系統

  7. ntfs windows NT/2000/XP的文件系統

  8. auto 自動檢測文件系統

-o options

掛載時使用mount -o指定,若已經掛載的文件系統可使用mount -o remount,mount_options 直接修改掛載參數. 指定掛載系統選項:多個選項能夠用","分割.某些選項只有在出如今文件 /etc/fstab 中時纔有意義。下列選項能夠用於任何要掛載的文件系統

選項

說明

async

全部對文件系統的 I/O 操做都必須是異步完成的。

atime

每次存取時更新 inode 存取時間。這是默認選項。

auto

能夠在使用 -a 選項時被掛載。

defaults

包含如下選項:rw, suid, dev, exec, auto, nouser,async.

dev

解析文件系統中的字符設備或塊設備。

exec

容許執行二進制文件

_netdev

文件系統居於須要網絡鏈接的設備上,避免斷網下,不斷掛載耗資源

noatime

不更新文件系統的inode存取時間(提高新聞服務器的速度)

noauto

只能被顯式地掛載,-a不能使它掛載

nodev

不解析文件系統中的字符設備或塊設備

noexec

不容許執行被加載的文件系統中的任何二進制文件

nosuid

不容許set-user-identifier set-group-identifier位起做用

nouser

禁止普通的掛載文件系統(默認)

remount

試圖從新掛載一個已經掛載的文件系統。一般用來改變掛載選項,如由只讀掛載改爲可讀寫的。

ro

以只讀方式掛載

rw

以讀寫方式掛載

suid

容許set-user-identifier set-group-identifier位起做用

sync

以同步方式進行I/O操做,忽然斷電不會掉資料,但加劇磁盤負擔

只對 ext2ext3 ufs 有效

dirsync

全部對文件系統內目錄的更新應當是同步完成的,影響下列系統調用:creat,link, unlink, symlink, mkdir, rmdir, mknod 以及 rename

user

容許普通的用戶掛載文件系統,掛載者的用戶名被寫入mtab,從而使他能夠再次卸載文件系統。這個選項暗含了選項noexec,nosuid, 以及 nodev.

users

容許每一個用戶掛載卸載文件系統

codepage

codepage=XXX代碼頁

iocharset

iocharset=XXX 字符集

loop

掛載一個文件,常常掛載iso文件用到

username

username=user 訪問設備的用戶名

password

password=pass 訪問設備的密碼

如下參數只對特殊文件系統有用:

 

uid/gid

uid=value gid=value 以特殊用戶及組 掛載系統

ownmask

ownmask=value owner權限的權限掩碼

othmask

othmask=value othmask權限的權限掩碼

不一樣文件系統所支持的屬性不必定系統。能夠查找相關資料

 

-a

搜索/etc/fstab文件中知足條件的文件系統,進行掛載操做。

格式: mount -a -t type -o options 不須要指定設備/目錄

-f

測試mount系統,只檢查設備和目錄,並不真正掛載文件系統

-n

不把掛載的記錄,記錄在/etc/mtab 文件中

-r

將文件系統安裝爲只讀,同(-o ro)

-w

將文件系統安裝爲可讀寫,同(-o rw)

-L label

掛載具備指定卷標 label 的分區, 可使用Label掛載文件系統

-w

將文件系統安裝爲可讀寫,同(-o rw)

-v

顯示詳細的掛載進度

-l

列出全部已經掛載的文件系統列表

--bind

將文件層次的一部分從新掛載到其餘地方.只掛接單一的文件系統,若是目錄有其它文件系統,將不能掛載。若是須要都掛載,能夠用:--rbind 參數。

mount --bind olddir newdir 2個目錄能夠訪問系統內容

--move

將一個目錄移到另外地方,mount --move olddir newdir

-h

顯示幫助

-V

顯示版本

 

3. mount 文件系統的方法

掛載時知足3個條件:分區文件系統類型,對應設備文件,掛載點

  1. 可使用mount 手動實現

  2. 配置/etc/fstab (mount 調用)實現自動掛載

  3. 使用autofs 服務按需掛載(須要使用時才自動掛載)

 

自動掛載

/etc/fstab

rc.local 腳本中添加mount命令掛載文件系統

gnome 圖形環境會運行一個automounter程序自動監控光驅和自動掛載它,其只對光驅起做用。

 

 

4. eg

mount   不帶參數,顯示全部已經掛載的文件系統 /proc/mounts

mount | column  -t  以清晰的格式顯示全部掛載的文件系統

mount -a        掛載/etc/fstab中未掛載的設備(掛載/etc/fstab 中全部的文件系統 )

mount /dev/cdrom   掛載/etc/fstab中對應的文件系統

mount -o remount,rw /  從新以讀寫模式掛載/

mount -o remount,rw,auto / 從新掛載/目錄,

mount -t tmpfs tmpfs /mnt -o size=1024m  掛載一個臨時內存分區

mount -t cifs //192.168.1.3/game /media -o username=Joen%password

mount  -t  iso9660  -o  loop <光盤鏡像> <掛載點>  掛載ISO光盤鏡像

mount -o loop file.iso /mnt/cdrom 掛載一個文件或ISO鏡像文件

mount /dev/cdrom /mnt/cdrom

mount /dev/hda2 /mnt/hda2 掛載一個叫作hda2的盤 - 肯定目錄 '/ mnt/hda2' 已經存在

umount /dev/hda2 卸載一個叫作hda2的盤 - 先從掛載點 '/ mnt/hda2' 退出

fuser -km /mnt/hda2 當設備繁忙時強制卸載

umount -n /mnt/hda2 運行卸載操做而不寫入 /etc/mtab 文件- 當文件爲只讀或當磁盤寫滿時很是有用

mount /dev/fd0 /mnt/floppy 掛載一個軟盤

mount /dev/hdc /mnt/cdrecorder 掛載一個cdrwdvdrom 

mount -t vfat /dev/hda5 /mnt/hda5 掛載一個Windows FAT32文件系統

mount /dev/sda1 /mnt/usbdisk 掛載一個usb 捷盤或閃存設備

mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 掛載一個windows網絡共享(samba)

showmount -e 192.168.0.30  查看鏈接

mount -t nfs 192.168.0.30:/tmp /mnt/nfs

mount --bind /olddir /newdir  olddirnewdir掛載到同一個inode,掛載後的目錄(newdir)繼承了被掛載目錄的全部屬性(除了名稱)

相關文章
相關標籤/搜索