Linux查看目录占用
时间:2026-10-20 07:14 作者:emer 分类: 无
Linux查看目录占用
引言
磁盘满了先定位是哪个目录吃掉空间,df看整体分区,du逐层下钻找大户。两个命令配合,从分区到目录到文件逐级缩小范围,是磁盘排查的标准路径。
看整体分区:df
df -h
人类可读格式显示各分区总量、已用、可用、使用率,先判断是哪个挂载点满了。
看单个目录总大小
du -sh /var/log
-s汇总,-h人类可读,直接给出这个目录总共占多大。
看一级子目录大小并排序
du -h --max-depth=1 /var | sort -rh | head
只算一层子目录,sort -rh按人类可读大小倒序,head取前几名,快速定位大户。
常用简写
du -sh /var/*
列出/var下每个一级目录大小,逐层进入继续排查。
排除文件系统统计
du -shx /home
-x不跨文件系统,避免把挂载的别的盘也算进来。
看目录下文件数量
ls /var/log | wc -l
有些目录不大但文件海量,inode耗尽也会写不进,配合df -i看inode。
注意事项
- df看分区,du看目录,先df定位再du下钻;
- 大目录du会遍历较慢,加--max-depth限制层数;
- 删除大文件后空间没释放,可能是进程仍持有句柄,需重启进程;
- sort -rh依赖du输出的G/M单位;
- /proc、/sys是虚拟文件系统,du统计无意义;
- 日志目录优先排查,常是增长最快的大户。
总结
df -h看分区整体,du -sh看单目录汇总,--max-depth=1配合sort -rh找一级大户,-x不跨文件系统,ls加wc -l看文件数,df -i查inode。排查路径是先df定位满的分区,再du逐层下钻,删文件后空间不释放要查持有句柄的进程,日志目录优先检查。