findmnt --tree 是展示嵌套挂载树的核心命令,支持 -d 显示设备路径、-t 过滤真实文件系统、--target 锁定挂载点子树,并可用 --noheadings 和 -o 精简输出,同时排除 tmpfs 等伪文件系统干扰。

用 findmnt 展示嵌套挂载树,关键在于启用树形视图并过滤无关条目,避免被伪文件系统(如 sysfs、proc)或临时挂载干扰主干结构。
用 --tree 直接生成缩进式挂载树
这是最直观的方式。默认输出会按挂载点层级缩进,父挂载点在上,子挂载点(如 bind mount 或 overlayfs 下的子目录)自动缩进显示:
-
findmnt --tree—— 全局树状展示,但含大量内核伪文件系统 -
findmnt --tree -D—— 加-D显示设备名(如/dev/sda2),便于定位物理来源 -
findmnt --tree -t ext4,xfs,btrfs—— 限制只显示真实块设备文件系统,跳过tmpfs、devtmpfs等
聚焦特定挂载点,查看其完整子树
当系统存在多层 bind mount、overlayfs、systemd unit 挂载或容器挂载时,可锁定根路径向下展开:
-
findmnt --tree /—— 从根开始,清晰呈现所有直接/间接子挂载 -
findmnt --tree /var/lib/docker—— 查看 Docker 存储驱动下的嵌套结构(如 overlay2 的 merged/lower/work 目录是否独立挂载) -
findmnt --tree --target /mnt/data—— 指定挂载点路径,即使它被多次 bind mount 也会完整列出继承链
结合 --first-only 和 --noheadings 精简干扰信息
复杂环境中常因重复字段或表头降低可读性,尤其在脚本解析或快速排查时:
-
findmnt --tree --first-only --noheadings—— 去掉表头,且对同一设备的多个挂载只显示首个(避免/proc多次出现) -
findmnt --tree -o SOURCE,TARGET,FSTYPE,OPTIONS --noheadings—— 自定义列,突出设备、挂载点、类型和关键选项(如bind、rw,relatime) - 配合
grep -E "(bind|shared|slave|private)"可快速定位非默认传播类型的挂载,这对理解 mount namespace 行为很重要
识别并排除典型干扰项
嵌套结构易被以下挂载污染,导致树形失真:
-
tmpfs在/run、/dev/shm下的挂载通常无需纳入主干分析,加-t -tmpfs排除 -
autofs挂载是惰性触发的,findmnt默认不显示未激活项;如需完整拓扑,需确保相关服务已触发挂载 - systemd 自动挂载单元(如
/etc/fstab中带x-systemd.automount的项)可能尚未挂载,findmnt不会列出,需先访问路径或运行systemctl start xxx.automount











