Linux查看已挂载的分区及挂载点 df -h命令

雨伟君_3735

雨伟君_3735

2026-04-14

818人浏览

原创

df -h 的“已用”和“可用”之和不等于“容量”,因 linux 默认为 root 保留 5% 空间(如 ext4),该空间计入总容量但不显示在“已用”或“可用”中,可通过 tune2fs -l 查看和调整。

linux查看已挂载的分区及挂载点 df -h命令

df -h 显示的“已用”和“可用”为什么加起来不等于“容量”

因为 Linux 文件系统会为 root 用户保留一部分空间(默认 5%),这部分既不显示在“已用”里,也不算进“可用”中,但属于总容量的一部分。比如 ext4 格式下,df -h 的“容量”是磁盘总大小,“已用”是普通用户实际占用,“可用”是普通用户还能写的剩余空间,而保留空间只对 root 可见。

验证方式:tune2fs -l /dev/sda1 | grep "Reserved block count" 查保留块数,再乘以 block size 就是保留字节数。

  • 保留空间可调,但不建议清零:tune2fs -m 1 /dev/sda1 改为保留 1%
  • df -h 不显示保留空间,但 df -i 同样受保留 inode 影响
  • 小容量分区(如 /boot)保留比例过高时,“可用”可能远小于预期

df -h 看不到新挂载的 NFS 或 bind mount

默认 df -h 只显示当前命名空间中“已生效”的挂载点,如果挂载发生在不同 mount namespace(比如容器内、chroot 环境或未同步的子 mount),或者用了 --bind 但没加 --rbind,df 就可能漏掉。

更可靠的替代是直接读内核挂载信息:findmnt 或 cat /proc/mounts。前者带树状结构和类型标识,后者原始但最全。

  • findmnt -D 显示所有挂载(含 kernel 自动挂载项如 sysfs)
  • findmnt -t nfs4 过滤特定文件系统类型
  • df -h --total 在末尾加汇总行,方便快速看全局使用率

df -h 输出中 “Mounted on” 路径显示为 “?”

这通常表示该挂载点的路径无法被当前进程解析,常见于:挂载点目录已被删除、父目录权限不足(如 noexec 或 nosuid 挂载导致 stat() 失败)、或挂载在 chroot 内部但当前环境看不到完整路径。

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载

此时 df 仍能读到设备和用量数据,但无法获取挂载路径字符串。别急着重挂,先确认是否真有问题:

  • 运行 ls -ld /path/that/shows_? —— 如果报 No such file or directory,说明目录被删了,但设备还挂着(危险!)
  • 检查 /proc/mounts 对应行,看第三列(type)和第四列(options),确认是不是 overlay、tmpfs 或异常选项
  • 某些 LXC 容器中,“?” 是正常现象,因为挂载路径在宿主机命名空间里不可见

df -h 和 du -sh 结果严重不一致怎么办

这是运维中最常被误判为“磁盘坏了”的场景。根本原因不是命令错了,而是两者统计维度不同:df 看文件系统级块分配,du 看目录树中文件实际大小(不含元数据、稀疏文件空洞、已删未释放的文件)。

典型触发条件:大日志被 rm 但进程还在写、大量 truncate 后的稀疏文件、或 ext4 的延迟分配(delayed allocation)尚未刷盘。

  • 查“看不见”的大文件:lsof +L1 列出已删除但仍被打开的文件
  • 确认是否稀疏:ls -ls /path/to/file 对比 “disk blocks” 和 “size” 列
  • 强制刷盘并重统计:sync && echo 3 > /proc/sys/vm/drop_caches(仅临时缓解,非根治)

真正难处理的是被 long-running 进程 hold 住的已删文件——得杀进程或等它自己关闭 fd,没有快捷修复方式。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.20

2928

5

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1678

5

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.04

2544

5

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

2023.10.24

5984

49

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

2023.11.24

5429

6

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

2024.03.22

7114

16

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

2024.04.29

10134

11

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

2025.07.29

5159

17

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

2025.08.07

5527

13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习