约 17854 字

约 89 分钟

#Bash 的 findmnt 命令

findmnt [OPTIONS]

功能

查询文件系统及挂载点。

类型

可执行文件(/usr/bin/findmnt),属于 util-linux。

参数

  • OPTIONS 选项:
    • -A, --all 禁用所有内置过滤器,显示所有文件系统。

    • -a, --ascii 使用 ASCII 字符显示树状格式。

    • -b, --bytes 以字节为单位显示文件系统大小,而不是人类可读格式。 默认单位是字节,前缀以 2^10 为基数(KiB、MiB 等)。为了可读性,符号缩写会只显示首字母,例如 “1 KiB” 显示为 “1 K”,省略了 “iB”。

    • -C, --nocanonicalize 不进行路径规范化。此选项影响路径比较和标签(LABEL、UUID 等)的解析。

    • -c, --canonicalize 对所有输出路径进行规范化。

    • --deleted 显示内核标记为已删除的挂载目标(mountpoint)的文件系统。

    • -D, --df 模拟 df(1) 输出。等价于 -o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET,但排除伪文件系统。使用 --all 可以显示所有文件系统。

    • -d, --direction word 搜索方向,可选值为 forward(向前)或 backward(向后)。

    • -e, --evaluate 将所有标签(LABEL、UUID、PARTUUID、PARTLABEL)转换为 SOURCE 列对应的设备名。可能存在标签重复的情况,此时会显示 SOURCES 列(多行显示所有匹配设备)。此选项主要对 fstab 有意义。

    • -F, --tab-file path 指定替代挂载表文件。如果与 --fstab、--mtab 或 --kernel 一起使用,则覆盖默认路径。指定多次会禁用树状输出(改为列表模式)。

    • -f, --first-only 只显示第一个匹配的文件系统。

    • -i, --invert 反转匹配逻辑(显示不匹配的项)。

    • -J, --json 使用 JSON 格式输出。

    • -k, --kernel 在 /proc/self/mountinfo 中搜索。输出为树状格式,默认选项,仅显示内核维护的挂载选项(参见 --mtab)。

    • -l, --list 使用列表格式输出。当输出受 -t、-O、-S、-T 限制且未使用 --submounts,或指定多个 -F 文件时,自动启用列表格式。

    • -M, --mountpoint path 明确指定挂载点文件或目录。可与 --target 互换使用。

    • -m, --mtab 在 /etc/mtab 中搜索。默认输出列表格式,可能包含用户空间挂载选项。

    • -N, --task tid 使用替代命名空间 /proc/<tid>/mountinfo 而非默认 /proc/self/mountinfo。指定多次会禁用树状输出。参考 unshare(1)。

    • -n, --noheadings 不显示表头行。

    • -O, --options list 限制输出的文件系统选项。多个选项用逗号分隔,-t 与 -O 可以叠加。每个选项精确匹配,可在单个选项前加 no 表示排除。+ 前缀可禁用 no 解释。

    • -o, --output list 自定义输出列。列名可通过 --help 查看。默认 TARGET 列会显示树状格式(除非使用 --list 或 --raw)。可用 +列名 扩展默认列。

    • --output-all 输出几乎所有可用列,排除需要 --poll 的列。

    • -P, --pairs 以 key="value" 形式输出,值中的特殊字符以十六进制转义。可与 --shell 配合使用。

    • -p, --poll[=list] 监控 /proc/self/mountinfo 的变化,支持动作:mount、umount、remount、move。动作可用逗号分隔,默认监控所有动作。可配合 --timeout 或 --first-only 限制阻塞时间。

    • --pseudo 仅显示伪文件系统。

    • --shadow 仅显示被其他文件系统覆盖的挂载点。

    • -R, --submounts 递归显示选中文件系统的子挂载点。子挂载点总是树状输出。对 --mtab 或 --fstab 无效。

    • -r, --raw 使用原始格式输出,所有潜在危险字符以十六进制转义。

    • --real 仅显示真实文件系统。

    • -S, --source spec 明确指定挂载源,可用 device、maj:min、LABEL、UUID、PARTLABEL、PARTUUID 等。

    • -s, --fstab 在 /etc/fstab 中搜索,列表格式输出。

    • -T, --target path 指定挂载目标路径。如果不是挂载点,会反向检查路径元素获取挂载点(仅支持 kernel 搜索,不支持 fstab)。

    • -t, --types list 限制输出的文件系统类型,可用 no 前缀排除类型。

    • --tree 启用树状输出(仅当存在父子关系时有效,fstab 等可能被忽略)。

    • --shadowed 仅显示被覆盖的挂载点(同 --shadow)。

    • -U, --uniq 忽略重复挂载目标的文件系统(跳过被覆盖挂载点)。

    • -u, --notruncate 不截断列文本。默认只截断非 TARGET、SOURCE、UUID、LABEL、PARTUUID、PARTLABEL 列。

    • -v, --nofsroot 对 bind mount 或 btrfs 子卷,SOURCE 列不显示 [/dir]。

    • -w, --timeout milliseconds 指定 --poll 阻塞时间上限(毫秒)。

    • -x, --verify 检查挂载表内容。默认验证 /etc/fstab 可解析性,可与 --tab-file 一起使用。可指定源或目标过滤,--verbose 可显示详细信息。

    • --verbose 强制显示更多信息(当前仅对 --verify 有效)。

    • --vfs-all 当与 VFS-OPTIONS 列一起使用时,显示所有 VFS(与文件系统无关)标志,用于审计,显示默认内核挂载选项。

    • -y, --shell 将列名修改为仅包含 shell 变量允许的字符,可与 --pairs 配合使用。

    • --help - 显示帮助

    • --version - 显示版本

#示例

$ findmnt
TARGET                                   SOURCE FSTYPE      OPTIONS
/                                        /dev/nvme0n1p2
                                                ext4        rw,relatime
├─/sys                                   sysfs  sysfs       rw,nosuid,nodev,noexec,relatime
│ ├─/sys/firmware/efi/efivars            efivarfs
│ │                                             efivarfs    rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security                 securityfs
│ │                                             securityfs  rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup                       cgroup2
...

#推荐阅读

#手册

更新: 2026/1/18

作者: PlanC

创建: 2026/1/15