在 Linux 系统中,查看当前所有挂载项的最直接方式就是执行 mount 命令。它会从 /proc/mounts 中读取内核实时维护的挂载列表,覆盖范围最全、权威性最高——连 proc、sysfs、tmpfs 这类伪文件系统也包含在内,而 df -h 会主动过滤掉它们。因此,你需要清楚什么场景该用哪个工具。

直接运行 mount 即可显示全部挂载项
不加任何参数时,mount 命令从 /proc/mounts 提取内核当前维护的挂载列表,输出最全、最权威的信息——包括 proc、sysfs、tmpfs 这类伪文件系统,而 df -h 会主动跳过它们。
- 在终端输入
mount并回车,每行格式清晰:设备 → 挂载点 → 类型 → (选项) - 如果输出内容过长不便查看,可使用
mount | less分页浏览,按q退出 - 注意:某些由 systemd 管理的 automount(例如带
x-systemd.automount的 NFS)可能尚未实际挂载,mount不会显示它们。此时需要实际访问目录,或者通过systemctl list-units --type=mount查询
findmnt 更适合人眼阅读和脚本解析
findmnt 是 util-linux 提供的现代替代工具,底层同样读取 /proc/mounts 和 /etc/fstab,但输出结构清晰、支持条件筛选。相比直接用 mount | grep 碰运气,它更加可靠。
- 运行
findmnt默认以树状缩进展示,一眼即可看出 bind mount 或 overlayfs 的嵌套关系 - 脚本中需要稳定字段输出时,使用
findmnt -n -o SOURCE,TARGET,FSTYPE,OPTIONS,无表头、无空格,便于 cut/awk 处理 - 查询某路径是否已挂载:运行
findmnt /path,它能识别子挂载、UUID 匹配,比mount | grep更不易遗漏或误匹配 - 远程挂载专用过滤:
findmnt --types nfs,cifs,nfs4,mount本身不具备此能力
为什么 df -h 不能替代 mount
df 只统计拥有块设备空间的挂载点,对于 proc、devtmpfs、securityfs 这类无磁盘空间的伪文件系统完全不显示。你看到的“未挂载”,很可能只是 df 主动跳过了它们。
df -h适合检查磁盘空间占用,而非查询挂载状态;想确认/proc是否已挂载?它不会告诉你df /some/path可以反推该路径所属的设备,但无法获取挂载选项(如noexec、relatime)- 遇到“磁盘已满但仍能写入”或“明明挂载了但 df 看不到”的情况,优先怀疑是伪文件系统或 bind mount,不要只盯着
df
挂载点显示为 ? 或空 SOURCE 怎么办
这属于正常现象,并不代表出错。常见于 tmpfs、ramfs、bind mount、overlayfs 或卸载残留条目——它们没有对应的物理块设备,内核会填入 ? 或留空。
mount输出第一列为?:大概率是tmpfs或bind mount,查看第三列(类型)和第四列(选项)即可确认findmnt显示SOURCE为空:同理,检查FSTYPE列,tmpfs、overlay、none都属于此类- 如果刚卸载过设备但
mount仍显示它,可能是内核尚未及时清理条目,可通过ls /mount/point实际访问验证是否真正有效
真正的挂载状态以 /proc/mounts 为准,但人眼直接阅读它过于原始。mount 和 findmnt 都是它的友好封装——选择哪个取决于你的需求:要快速、全面,用 mount;要清晰、稳定、可过滤,用 findmnt。
