linux 中常用的檢查已挂載的檔案系統的是 mount 指令,不僅用于列出已挂載的裝置,而且可以在需要的時候挂載和解除安裝。另外還有一個叫做 findmnt 的超贊指令,它可以用于快速檢視挂載位置和選項。

<a target="_blank"></a>
findmnt 指令來自 util-linux 軟體包,預設安裝在大多數發行版中,如 ubuntu,fedora,debian
$ aptitude search util-linux
i util-linux - miscellaneous system utilities
$ yum info util-linux
無任何選項運作 findmnt,隻會以樹形結構圖的方式列出所有已挂載的檔案系統。
$ findmnt
輸出可以格式化為一個簡單的清單,而不是預設的樹形結構,使用l(鍵盤u和o中間那個,不是數字1)選項使它友善閱讀。
$ findmnt -l
target source fstype options
/sys sysfs sysfs rw,nosu
/proc proc proc rw,nosu
/dev udev devtmpf rw,rela
/dev/pts devpts devpts rw,nosu
/run tmpfs tmpfs rw,nosu
/ /dev/disk/by-uuid/6fa5a72a-ba26-4588-a103-74bb6b33a763
ext4 rw,rela
/sys/fs/cgroup tmpfs rw,rela
/sys/fs/fuse/connections fusectl rw,rela
/sys/kernel/debug debugfs rw,rela
/sys/kernel/security securit rw,rela
/run/lock tmpfs rw,nosu
/run/shm tmpfs rw,nosu
/run/user tmpfs rw,nosu
/sys/fs/pstore pstore rw,rela
/media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
/dev/sda8 ext4 rw,nosu
/media/4668484a68483b47 /dev/sda5 fuseblk rw,nosu
/proc/sys/fs/binfmt_misc binfmt_misc binfmt_ rw,nosu
/sys/fs/cgroup/systemd systemd cgroup rw,nosu
/run/user/1000/gvfs gvfsd-fuse fuse.gv rw,nosu
findmnt 可以用“-d”或“-df”選項建立一個 df 格式的輸出報告空閑和已用磁盤空間。
$ findmnt -d
source fstype size used avail use% target
devtmpfs devtmpfs 994.2m 0 994.2m 0% /dev
selinuxfs selinuxfs 0 0 0 - /sys/fs/selinux
tmpfs tmpfs 1001.5m 68k 1001.4m 0% /dev/shm
tmpfs tmpfs 1001.5m 724k 1000.8m 0% /run
tmpfs tmpfs 1001.5m 0 1001.5m 0% /sys/fs/cgroup
/dev/mapper/fedora-root ext4 6.5g 5.3g 811.6m 82% /
tmpfs tmpfs 1001.5m 60k 1001.5m 0% /tmp
/dev/sda1 ext4 476.2m 107.7m 339.6m 23% /boot
需要注意的是,以上選項 util-linux2.20 之前的版本都不可用,它正好是 ubuntu13.10 上的最新版本
使用“-s”或“-fstab”選項,findmnt 将隻從/etc/fstab檔案和/etc/fstab.d目錄讀取檔案系統。
$ findmnt -s
target source fstype options
/ /dev/mapper/fedora-root ext4 defaults
/boot uuid=18cde604-1c65-4ec8-8a8d-385df50ada3b ext4 defaults
swap /dev/mapper/fedora-swap swap defaults
findmnt 可以列印出隻基于類型的特定的檔案系統,例如 ext4,多個系統類型可以指定一個逗号分隔。
$ findmnt -t ext4
target source fstype options
/ /dev/mapper/fedora-root ext4 rw,relatime,seclabel,data=ordered
└─/boot /dev/sda1 ext4 rw,relatime,seclabel,data=ordered
如果你喜歡原始風格的輸出,那麼使用“-r”或“--raw”選項。
$ findmnt --raw
target source fstype options
/sys sysfs sysfs rw,nosuid,nodev,noexec,relatime
/proc proc proc rw,nosuid,nodev,noexec,relatime
/dev udev devtmpfs rw,relatime,size=4069060k,nr_inodes=1017265,mode=755
/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
/run tmpfs tmpfs rw,nosuid,noexec,relatime,size=816716k,mode=755
/ /dev/disk/by-uuid/6fa5a72a-ba26-4588-a103-74bb6b33a763 ext4 rw,relatime,errors=remount-ro,data=ordered
/sys/fs/cgroup tmpfs rw,relatime,size=4k,mode=755
/sys/fs/fuse/connections fusectl rw,relatime
/sys/kernel/debug debugfs rw,relatime
/sys/kernel/security securityfs rw,relatime
/run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k
/run/shm tmpfs rw,nosuid,nodev,relatime
/run/user tmpfs rw,nosuid,nodev,noexec,relatime,size=102400k,mode=755
/sys/fs/pstore pstore rw,relatime
/media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 /dev/sda8 ext4 rw,nosuid,nodev,relatime,errors=remount-ro,data=ordered
/media/4668484a68483b47 /dev/sda5 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096
/proc/sys/fs/binfmt_misc binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime
/sys/fs/cgroup/systemd systemd cgroup rw,nosuid,nodev,noexec,relatime,name=systemd
/run/user/1000/gvfs gvfsd-fuse fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000
看起來非常整潔(譯注,親愛的讀者你也這樣覺得麼?)。
通過源裝置查找檔案系統,指定裝置路徑包括/不包括“-s”選項。
$ findmnt -s /dev/sda1
target source fstype options
/boot /dev/sda1 ext4 rw,relatime,seclabel,data=ordered
通過挂載目錄查找檔案系統,指定目錄包括/不包括“-t /--target”選項。
$ findmnt -t /
target source fstype options
/ /dev/mapper/fedora-root ext4 rw,relatime,seclabel,data=ordered
$ findmnt -t /media/4668484a68483b47
target source fstype options
/media/4668484a68483b47 /dev/sda5 fuseblk rw,nosuid,nodev,relatime,user_id=0
這是一個 findmnt 指令的簡要介紹。關于 findmnt 的更多選項可以在 man 手冊頁中找到。
原文釋出時間:2014-06-02
本文來自雲栖合作夥伴“linux中國”