findmnt 命令的八個應用例項

譯者: Vito發表於2014-06-02

已掛載的檔案系統和裝置

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

安裝findmnt

findmnt 命令來自 util-linux 軟體包,預設安裝在大多數發行版中,如 Ubuntu,Fedora,Debian

$ aptitude search util-linux
i   util-linux                     - Miscellaneous system utilities

$ yum info util-linux

使用findmnt

1. 列出檔案系統

無任何選項執行 findmnt,只會以樹形結構圖的方式列出所有已掛載的檔案系統。

$ findmnt

2. 以列表形式輸出

輸出可以格式化為一個簡單的列表,而不是預設的樹形結構,使用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

3. df格式輸出

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 上的最新版本

4. 從fstab讀取檔案系統

使用“-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

5. 透過型別過濾檔案系統

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

6. 原始輸出

如果你喜歡原始風格的輸出,那麼使用“-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

看起來非常整潔(譯註,親愛的讀者你也這樣覺得麼?)。

7. 透過源裝置查詢

透過源裝置查詢檔案系統,指定裝置路徑包括/不包括“-S”選項。

$ findmnt -S /dev/sda1
TARGET SOURCE    FSTYPE OPTIONS
/boot  /dev/sda1 ext4   rw,relatime,seclabel,data=ordered

8. 透過掛載點查詢

透過掛載目錄查詢檔案系統,指定目錄包括/不包括“-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 手冊頁中找到。


via: http://www.binarytides.com/linux-findmnt-command/

譯者:Vito 校對:Caroline

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章