Linux查看磁盘使用分布的常用方法与命令
ncdu 是一款交互式磁盘空间分析工具,能够逐层下钻定位占用空间较大的目录,支持键盘导航、实时排序以及删除确认。它底层基于 du 实现,但在实际排查磁盘占用时大幅简化了操作流程,非常适合 Linux 磁盘使用分析。想直接查看目录级别的磁盘使用分布,就别只盯着 df 的总容量输出——它只能告诉你“磁盘
ncdu 是一款交互式磁盘空间分析工具,能够逐层下钻定位占用空间较大的目录,支持键盘导航、实时排序以及删除确认。它底层基于 du 实现,但在实际排查磁盘占用时大幅简化了操作流程,非常适合 Linux 磁盘使用分析。

想直接查看目录级别的磁盘使用分布,就别只盯着 df 的总容量输出——它只能告诉你“磁盘快满了”,却不会告诉你“到底是哪个目录占满了空间”。
用 du 定位大目录
du 是 Linux 中少数能够精准回答“/var/log 占了 12G”或“/home/user/downloads 占了 87G”这类问题的命令工具。它通过递归统计指定路径下所有文件和目录的大小来工作,但默认输出通常较为杂乱,需要结合参数使用,才能更高效地查看磁盘占用情况。
du -sh /path:快速查看单个目录总大小(-s表示汇总,-h表示以易读格式显示)du -sh /var/* | sort -hr | head -10:列出/var目录下占用空间最大的前 10 个子目录(sort -hr按可读数值倒序排列)du -sh /home/* 2>/dev/null | sort -hr:跳过权限不足产生的报错(2>/dev/null),避免影响排序结果
需要注意的是:du 统计的是文件的实际占用空间,而不是磁盘块的分配情况;如果目录中包含大量硬链接或稀疏文件,那么统计结果可能会与 df 显示的数据不完全一致。
df 和 du 结果不一致时怎么办
常见情况是:某个分区执行 df -h 后显示已使用 95%,但把所有目录用 du -sh 统计后加起来却只有 70%。这种情况大概率是“文件已删除但空间未释放”导致的——相关进程仍然占用文件句柄,磁盘空间并没有真正回收。
- 查找已删除但仍被占用的文件:
lsof +L1(通常需要 root 权限,+L1表示 link count = 0) - 定位具体进程:
lsof +L1 | grep deleted - 释放方式:重启对应进程,或结束进程后再清理(例如日志服务可用
kill -USR1触发重新打开文件)
另一个常见干扰因素是 ext4 的 reserved blocks(默认约 5%),df 会把这部分计入“已用空间”,但普通用户实际上无法使用,而 du 也不会统计进去——这并不是统计错误,而是文件系统的设计机制。
用 ncdu 交互式钻取
当你需要逐层深入排查某个可疑目录(比如 /var)时,ncdu 往往比手动组合多个 du 命令更高效,它可以理解为带交互界面的 du 增强版,是 Linux 查看磁盘空间分布的实用工具。
- 安装:
sudo apt install ncdu(Debian/Ubuntu)或sudo yum install ncdu(RHEL/CentOS) - 运行:
ncdu /var,进入后使用方向键导航,按Enter进入子目录,按d删除选中项(请谨慎操作) - 优势:支持实时刷新、鼠标操作,并可自动忽略如 .git、.cache 等常见无意义目录(支持配置)
它底层依然调用 du,但省去了反复输入命令、记忆路径以及手动计算大小的麻烦——特别适合排查目录层级深、结构复杂的磁盘占用问题。
别漏掉 tmpfs 和容器卷
很多看起来像是“凭空消失”的磁盘空间,其实并不真正落在物理磁盘本体上:例如 tmpfs 这类基于内存的虚拟文件系统、Docker 的 overlay2 卷、Kubernetes 的 emptyDir,都会出现在 df 输出里,但当你使用 du 扫描目录时,却未必能直接找到它们真实对应的承载位置。
- 识别 tmpfs:
df -T | grep tmpfs,这类挂载点显示的大小通常对应内存容量,du对它们的统计往往为 0 - 查看 Docker 卷:
docker system df -v,可检查 volumes 占用情况;清理方式:docker volume prune - 查看 Kubernetes:
kubectl top pods --containers配合df检查节点挂载点,容器内路径映射关系还需要结合describe pod一起分析
在这些场景下,一味盯着 /var/lib/docker 用 du 排查往往效果有限——必须结合对应生态的专用命令,才能真正找出那部分“消失”的磁盘空间来源。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
VMware安装Ubuntu完整教程:创建虚拟机与启动验证
本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。
Win10专业版U盘安装教程:制作启动盘与完整安装步骤
本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。
Windows10系统字体太小怎么调大
Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。
Win10磁盘占用100%基础排查:从监控到清理的完整步骤
Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。
Windows10系统怎么显示此电脑和控制面板
Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。
- 热门数据榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-09-01 16:50
2026-09-01 16:50
2026-08-27 15:46
2026-08-27 15:45
2026-08-27 15:45
2026-08-27 15:45
2026-08-27 15:44
2026-08-27 15:44
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

