mount使用詳解
除了掛載本機(硬盤、USB存儲器、CD、DVD等)或遠程(NFS、Samba等)文件系統,mount命令還可以查看已掛載的文件系統。下面的示例使用mount命令列出已掛載文件系統:
$ mount 列出已掛載的遠程和本機文件系統
/dev/sda7 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda6 on /mnt/debian type ext3 (rw)
/dev/sda3 on /mnt/slackware type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
使用-t選項可以只列出指定文件系統類型的掛載情況:
$ mount -t ext3 列出已掛載的ext3文件系統
/dev/sda7 on / type ext3 (rw)
/dev/sda6 on /mnt/debian type ext3 (rw)
/dev/sda3 on /mnt/slackware type ext3 (rw)
使用-l選項可以一並顯示掛載信息和分區標簽:
$ mount -t ext3 -l 列出已掛載ext3文件系統和標簽
/dev/sda7 on / type ext3 (rw) [/123]
/dev/sda6 on /mnt/debian type ext3 (rw) [/mnt/debian]
/dev/sda3 on /mnt/slackware type ext3 (rw) [/mnt/slackware]
下面兩條命令都比較簡單,使用mount命令將/dev/sda1設備掛載至已有目錄/mnt/ mymount:
# mount /dev/sda1 /mnt/mymount/ 掛載本機文件系統
# mount -v /dev/sda1 /mnt/mymount/ 同上,並輸出詳細信息
mount: you didn't specify a filesystem type for /dev/sda1
I will try type ext3
/dev/sda1 on /mnt/mymount type ext3 (rw)
在這個例子裡,mount命令會在/etc/fstab文件中查找/dev/sda1相關的條目或者試著猜測文件系統類型。
使用-t選項可以明確指定待掛載文件系統的類型:
# mount -v -t ext3 /dev/sda1 /mnt/mymount/ 掛載ext3文件系統
/dev/sda1 on /mnt/mymount type ext3 (rw)
此外,還可以顯示掛載分區的標簽/名稱:
# mount -vl -t ext3 /dev/sda1 /mnt/mymount/ 掛載文件系統/顯示標簽
若待掛載分區已列於fstab文件,則只需指定掛載點或設備。以下面的fstab條目為例:
/dev/sda1 /mnt/mymount ext3 defaults 1 2
使用下面兩條命令都能掛載這個文件系統:
# mount -v /dev/sda1 僅用設備名掛載文件系統
/dev/sda1 on /mnt/mymount type ext3 (rw)
# mount -v /mnt/mymount/ 僅用掛載點掛載文件系統
/dev/sda1 on /mnt/mymount type ext3 (rw)
使用-o和一串逗號分隔的選項即可指定掛載選項,與/etc/fstab文件第4個字段內容等效。默認情況下,分區掛載後支持讀/寫訪問。另外,還可以指定以讀/寫(rw)或只讀(ro)方式掛載文件系統:
# mount -v -t ext3 -o rw /dev/sda1 /mnt/mymount/ 讀/寫方式掛載
/dev/sda1 on /mnt/mymount type ext3 (rw)
# mount -v -t ext3 -o ro /dev/sda1 /mnt/mymount/ 只讀方式掛載
/dev/sda1 on /mnt/mymount type ext3 (ro)
其他比較有用的mount選項包括下面幾個。
noatime--不要更新文件訪問時間。對執行大量I/O操作的文件系統(如郵件池和日志)大有好處。
noexec--不允許執行文件系統中的二進制文件。用於提高安全性,例如,用在存在不可信用戶環境的/tmp上。
remount--修改已掛載文件系統的選項。借助remount,只用一個命令就能卸載並以新選項重新掛載文件系統。下面這個例子將此前讀/寫方式的掛載改為只讀方式:
# mount -v -o remount,ro /dev/sda1
/dev/sda1 on /mnt/mymount type ext3 (ro)
--bind--將已掛載的文件系統掛載到目錄樹的另一個位置。假定/dev/sda1已掛載到/mnt/mymount,鍵入下面的命令:
# mount --bind -v /mnt/mymount/ /tmp/mydir/
/mnt/mymount on /tmp/mydir type none (rw,bind)
現在從兩個位置都能訪問同一文件系統。新掛載點和原掛載點的掛載選項相同。
--move--將文件系統從一個掛載點遷移到另一個掛載點。假定/dev/sda1已掛載到/mnt/mymount,下面的命令會將文件系統遷移到/tmp/mydir目錄下:
# mount -v --move /mnt/mymount/ /tmp/mydir/
/mnt/mymount on /tmp/mydir type none (rw)
在文件中,不僅能創建交換區,還能創建文件系統,並以回環方式掛載該文件。前面7.2.3節介紹過如何創建和掛載這種文件。下載Linux安裝CD或LiveCD後,一般都需要以回環方式掛載文件,這也比較常見。以回環方式掛載CD映像後,就可以查看其內容或復制文件到硬盤上。
在下面的例子中,掛載CD映像文件(文件系統類型為iso9660)時,mount命令會自動選用一個現有回環設備。命令輸出顯示選用的是/dev/loop0:
# mount -v -t iso9660 -o loop /tmp/myimage.iso /mnt/mymount/
mount: going to use the loop device /dev/loop0
/tmp/myimage.iso on /mnt/mymount type ext3 (rw,loop=/dev/loop0)
在下面的例子中,假定下載了Fedora USB閃存盤啟動映像diskboot.img,並保存在/tmp目錄中。掛載該啟動映像的命令如下:
# mount -v -o loop /tmp/diskboot.img /mnt/mymount
mount: going to use the loop device /dev/loop0
mount: you didn't specify a filesystem type for /dev/loop0
I will try type vfat
/tmp/diskboot.img on /mnt/mymount type vfat (rw,loop=/dev/loop0)
使用losetup命令可查看回環設備的狀態:
# losetup -a 列出已掛載的回環設備
/dev/loop0: [0807]:1009045 (/tmp/diskboot.img)
如果回環掛載出了點狀況,無法正常卸載,可以試著用下面的命令分離回環設備:
# losetup -d /dev/loop1 強行卸載已掛載的回環設備