发布于2026-08-19 阅读(0)
扫一扫,手机访问
du -sh 是Linux下统计目录磁盘占用的最常用、最可靠命令,-s汇总总大小、-h以K/M/G人性化显示;ls -lh仅显示目录inode大小(通常4KB),不递归统计内容,无法反映真实磁盘占用。

直接用 du -sh 就能拿到目录总大小,这是最常用、最可靠的方式。其他命令(如 ls)只显示元数据或单个文件大小,不能反映真实磁盘占用。
ls -lh 查目录大小ls -lh 显示的是目录本身的 inode 占用(通常 4KB),不是它里面所有文件加起来的磁盘使用量。比如一个装了 20GB 视频的 videos/ 目录,ls -lh videos/ 可能只显示 4.0K —— 这会严重误导你。
du -sh 的核心参数含义du 是唯一专为“磁盘使用量”设计的命令,-sh 组合最实用:
-s:只输出总计,不列每个子项(避免刷屏)-h:自动转成 KB/MB/GB,人眼可读-s 会列出所有子目录大小,适合排查大目录位置-c(如 du -shc dir1 dir2)会在末尾加一行 totaldu 报错怎么办常见错误信息:du: cannot access 'xxx': Permission denied。这不是命令错了,是当前用户没读取权限。
/var/log、/etc 下某些子目录)sudo du -sh /path;但注意 sudo 后路径别写错,尤其别漏斜杠sudo du -sh /*,可能卡住或触发安全策略du --exclude='/proc' --exclude='/sys' 可跳过虚拟文件系统,减少干扰想找出“罪魁祸首”,别手动翻,用管道组合:
du -h --max-depth=1 /path | sort -hr:只看一级子目录,按大小倒序du -sh /path/*/ | sort -hr | head -5:排除隐藏目录,取前 5 名sort -hr 依赖 GNU coreutils,旧系统可能不支持 -h,此时用 du -s /path/* | sort -nrdu 可能慢,这时 ncdu(交互式)比纯命令更直观有个容易被忽视的要点:磁盘使用量并不等同于文件大小的总和。du统计的是实际占用的块(block),这会受到文件系统块大小、稀疏文件、压缩、快照等多种因素的影响。比如说有一个100MB的空洞文件(sparse file),ls -l显示的是100MB,但du可能只显示几KB——这其实是它正常的表现。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9