findmnt是最直接、结构化最强的挂载详情查看命令,默认输出SOURCE、TARGET、FSTYPE、OPTIONS等完整字段,支持-D显示设备绝对路径、--tree展示嵌套关系、-t过滤文件系统类型,不依赖缓存且覆盖bind mount和overlayfs。

findmnt 是最直接、结构化最强的命令,能一次性看清设备、挂载点、文件系统类型、选项、是否只读等全部细节,比 mount 和 df 更可靠,尤其在 systemd 或容器环境下。
用 findmnt 看全量挂载详情
findmnt默认输出带表头的结构化列表,字段包括 SOURCE(设备)、TARGET(挂载点)、FSTYPE(文件系统)、OPTIONS(挂载参数)和 VFS-OPTIONS(内核级选项),不依赖缓存,也不漏掉 bind mount 或 overlayfs。
- 直接运行
findmnt就能看到所有挂载项,含 root、/boot、/home、swap 等 - 加
-D显示设备绝对路径(如/dev/nvme0n1p2),避免别名混淆 - 加
--tree展示嵌套关系:比如/var/lib/docker下的 overlay mount 会缩进显示 - 加
-t ext4,xfs只过滤指定类型,跳过tmpfs、proc等虚拟文件系统
用 df -hT 验证挂载点空间与类型
df -hT 不是挂载“详情”工具,但能快速交叉验证:它告诉你每个挂载点的总容量、使用率、文件系统类型(FSTYPE 列),且单位可读(GB/MB)。
- 输出中
Mounted on列必须和findmnt的TARGET对得上,否则说明挂载异常或路径被覆盖 - 如果某挂载点在
findmnt里存在,但df -hT里没出现,大概率是该文件系统未启用 block 统计(如某些 FUSE 挂载) - 注意
df -hT不显示挂载选项(比如noatime、ro),也不能反映 bind mount 的源路径
为什么不用 mount 查详情?
mount输出格式松散、无表头、字段顺序不固定,不同发行版甚至不同版本输出略有差异。它适合快速扫一眼,但不适合解析或脚本调用。
-
mount | grep "^/dev"能筛出块设备挂载,但会漏掉 LVM 逻辑卷(如/dev/mapper/vg-root)或 UUID 引用方式 - 它不显示文件系统类型是否实际生效(比如挂载时指定了
-t xfs,但底层其实是 ext4,mount不报错也不提示) - 在 systemd 管理的系统中,部分自动挂载(如
/sysroot)可能不会出现在mount输出里,而findmnt会
排查挂载异常时优先看这三行
遇到“明明挂了却访问不了”或“写入失败”,不要只盯着 df -h 的 Use%:
- 运行
findmnt /path—— 确认路径是否真被挂载,以及挂载选项里有没有ro(只读)或nosuid等限制 - 运行
df -i /path—— 检查 inode 是否耗尽,这是“磁盘有空间却写不进”的常见原因 - 运行
stat -f /path—— 直接读取文件系统元数据,绕过缓存,尤其对 NFS 挂载更准
真正复杂的不是命令本身,而是挂载状态和内核视图之间存在多层抽象——findmnt 站在统一视角拉平了这些差异,其他命令只是切片。











