直接用 mount 或 findmnt 就能看到所有已挂载设备:mount 输出平面列表、含伪文件系统,适合基础查看;findmnt 默认树状展示、支持类型过滤与 json 输出,更结构化可靠,能准确识别 nfs、bind mount 和 tmpfs。

直接用 mount 或 findmnt 就能看到所有已挂载设备,但它们输出格式、过滤能力和默认行为差异明显,选错命令可能漏掉 NFS、bind mount 甚至 tmpfs。
用 mount 查看基础挂载信息
这是最老也最通用的方式,几乎所有 Linux 发行版都自带。它输出的是内核维护的挂载表快照,不带树形结构,也不自动过滤。
- 运行
mount不带参数,会列出全部挂载项,包括/proc、/sys这类伪文件系统,容易干扰判断 - 想只看真实块设备(比如硬盘、U 盘),加
-t ext4,xfs,btrfs,vfat指定类型,例如:mount -t ext4,xfs - 注意:
mount不显示 bind mount 的源路径,比如/mnt/databind 到/home/user/data,它只会显示后者,看不出来源 - 某些容器环境或 chroot 下,
mount可能显示不全,因为 /proc/mounts 被隔离了
用 findmnt 获取结构化、可过滤的结果
findmnt 是 util-linux 2.20+ 自带的现代工具,比 mount 更可靠,尤其适合脚本解析和排查嵌套挂载。
- 默认运行
findmnt会以树状显示挂载层级,一眼看出哪些是子挂载点(比如/boot/efi在/dev/sda1上) - 查某个目录属于哪个设备:
findmnt /home,它会向上追溯到最近的挂载根 - 过滤远程文件系统:
findmnt -t nfs,cifs;排除虚拟文件系统:findmnt -D(-D表示 --deduce,跳过 proc/sysfs/devtmpfs 等) - 输出 JSON 方便程序处理:
findmnt --json,字段名稳定,比解析mount文本安全得多
检查 /proc/mounts 和 /etc/fstab 是否一致
有时候 mount 和 findmnt 显示的挂载点,和 /etc/fstab 对不上——这往往意味着有人手动挂载过但没写配置,或者卸载失败残留。
- 对比当前挂载与 fstab:
diff ,注意 <code>findmnt --raw输出字段更接近 fstab 格式 -
/proc/mounts是内核视角的实时状态,而mount命令输出可能受用户命名空间影响;在 Docker 容器里,findmnt更可信 - 如果发现某设备在
/proc/mounts里有、但findmnt不显示,大概率是 mount namespace 隔离导致,不是数据丢失
真正容易被忽略的是 bind mount 和 overlayfs 这类“非典型”挂载——mount 默认不标出它们的类型,findmnt -D 会,但得记得加 -o SOURCE,TARGET,FSTYPE,OPTIONS 才能看到完整上下文。另外,lsblk -f 能补全设备级视图,但它不反映 mount namespace 隔离后的实际挂载状态。











