想要直接查看已挂载文件系统的空间占用情况和挂载点?df -h命令就能满足你!它只会显示成功挂载的项,不会显示未挂载的设备。如果再加上 -T 选项,还能同时显示文件系统类型。另外,你还可以指定路径,比如df -h /var/log,这样就能快速定位到归属设备啦!

用 df -h 查已挂载文件系统的空间与挂载点
df -h 是最直接看到“哪些设备挂载在哪儿、用了多少空间”的命令。它只显示**已成功挂载**的文件系统,不显示未挂载的硬盘或空分区。
常见误操作:运行 df -h 后没看到新插的 SSD,就以为系统没识别到——其实只是还没挂载。
- 加
-T一起用:df -Th,能同时看到文件系统类型(如ext4、xfs、tmpfs),对排查 NFS 或容器临时盘很有用 - 查某个目录归属哪块盘:
df -h /var/log,快速定位路径实际挂载设备 - 注意
df显示的是“挂载点”而非“设备名”,比如/dev/sdb1挂在/data,输出里只写/data,不写/dev/sdb1
用 lsblk 看全量块设备及其挂载状态
想确认“系统认没认出那块新硬盘”,或者区分 /dev/sda 和 /dev/sda1 的关系,lsblk 是首选。它把磁盘、分区、LVM、挂载点全画成树状,一目了然。
典型陷阱:有人用 df -h 找不到 /dev/nvme0n1,但 lsblk 一眼就能看出它存在且 MOUNTPOINT 为空——说明设备已识别,但尚未分区/格式化/挂载。
- 只看硬盘(不含分区):
lsblk -d,适合快速扫一遍物理设备数量 - 带文件系统类型:
lsblk -f,比mount更简洁,还能看到FSTYPE和UUID - 注意 NVMe 设备名是
nvme0n1而非sdb,别漏掉这类新型盘
用 findmnt 做精准条件筛选
当挂载项很多(比如容器、K8s、autofs 自动挂载大量子路径),mount 或 df 输出太杂,findmnt 就派上用场。它支持按目标路径、源设备、文件系统类型甚至挂载选项过滤。
容易忽略的点:findmnt 默认不显示伪文件系统(如 proc、sysfs),但加 -D 可以强制包含;而 mount 默认全列,反而更“啰嗦”。
- 查某个设备挂在哪:
findmnt /dev/sdb1 - 查所有
xfs类型挂载:findmnt -t xfs - 查是否挂载了 NFS:
findmnt -t nfs,nfs4 - 检查某路径是否被 bind mount 覆盖:
findmnt --target /opt/app
为什么不用 cat /proc/mounts 直接看?
在Linux系统中,/proc/mounts是一个非常重要的文件,它记录了内核视角下的原始挂载信息。这些信息以严格的字段格式呈现,没有进行任何美化处理,因此对于脚本解析来说非常方便,但对于人眼阅读来说,效率就比较低了。它的内容与mount命令基本相同,不过它并不经过用户态缓存,这使得它在某些情况下能够发现mount命令显示异常时的真实状态。
真正要注意的是:它不区分“挂载成功”和“挂载失败但残留条目”。某些异常卸载后,这里可能留着脏数据,而 findmnt 或 lsblk 会自动过滤掉无效项。
- 查根文件系统确切设备:
awk '$2 == "/" {print $1}' /proc/mounts - 提取所有唯一挂载点:
awk '{print $2}' /proc/mounts | sort -u - 不要直接依赖它判断“是否可写”,得结合
mount输出里的rw/ro字段
lsblk 和 df -h 配合使用基本覆盖 95% 场景;findmnt 是处理复杂挂载拓扑时的利器;而 /proc/mounts 更像是一个兜底校验手段——别把它当第一选择,除非你在写自动化检测脚本。