df -h 的 mounted on 列即为挂载点,显示内核当前实际生效的挂载路径,但仅限已挂载分区且不区分物理设备与伪文件系统;lsblk -f 可同时展示设备名与挂载点;findmnt 用于精准定位指定路径所属挂载点。

直接看挂载点,用 df -h 最快,最后一列 Mounted on 就是你要的答案;但要注意它只显示已挂载的分区,且不区分设备来源(比如 overlayfs、tmpfs 也会混在里面)。
df -h 的 Mounted on 列就是挂载点
运行 df -h,输出中最后一列明确标为 Mounted on,每一行对应一个已挂载的文件系统及其挂载路径:
-
/表示根分区 -
/home表示该分区挂载到了/home目录下 -
/boot、/var/log等同理
这个字段不骗人,是内核当前实际生效的挂载路径。但注意:df -h 不显示未挂载的分区,也不告诉你挂载的是物理设备还是伪文件系统(如 tmpfs、overlay)。
想同时看到设备名和挂载点,用 lsblk -f
lsblk -f 一条命令就能把设备、文件系统类型、UUID 和挂载点全列出来,树状结构一目了然:
- 左列是设备名(如
sda1、nvme0n1p2) - 右列
MOUNTPOINT就是挂载点,空表示未挂载 - 中间的
FSTYPE和UUID可帮你交叉验证是否配对正确
普通用户可直接运行,不需要 sudo;对 LUKS 加密卷或 LVM 映射设备也友好——它会显示解密后逻辑卷的挂载点(如 centos-root → /),而不是加密层本身。
查某个路径属于哪个挂载点,用 findmnt
当你只知道一个目录(比如 /data/mysql),想快速定位它背后挂载的是哪块设备,就用:
findmnt /data/mysql
它会向上追溯到最近的挂载点,并显示完整设备名、文件系统类型和实时挂载选项。比 df /data/mysql 更准,因为后者只显示空间信息,而 findmnt 直接读取 /proc/self/mountinfo,不怕 bind mount 或嵌套挂载干扰。
常见误操作:用 mount | grep /data,结果可能漏掉自动挂载项(如 systemd-mount)或被空格/特殊字符截断。
别把 /proc/mounts 当挂载点清单来解析
cat /proc/mounts 虽然字段稳定,但输出里有大量内核内部挂载项(如 debugfs、securityfs),它们没有传统意义上的“挂载点”概念,也不是用户管理的磁盘分区。直接 awk '{print $2}' /proc/mounts 会混入这些路径,导致误判。
真正要统计“用户可用的磁盘挂载点”,应过滤掉伪文件系统:
findmnt -D -t ext4,xfs,btrfs(加 -D 输出扁平列表,-t 指定真实文件系统类型)
容易被忽略的一点:容器环境里,/proc/mounts 和宿主机一致,但 df -h 可能显示容器自己的 overlay 挂载点——这时挂载点虽存在,却不是你该去扩容的那块磁盘。











