Linux使用mount命令查看当前挂载
Linux下mount命令可查看所有挂载(含proc、sysfs等伪文件系统),df-h会过滤此类条目。findmnt提供树状输出和条件筛选,便于阅读和脚本处理。挂载点显示为?属正常现象,最终状态以/proc/mounts为准。
在 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。
