Linux如何查看目录占用空间 du命令使用技巧

du -s /var/log 输出 /var/log 的总大小。
du -ah /home/user/documents 列出 /home/user/documents 的所有大小。
du -sh /home/ | sort -h 对 /home 下的目录大小进行排序。
du -sh --threshold=1 00M / data/ 过滤器 / data/ 小于 1 00M。
du -sh --exclude=".log" /var/log 忽略 /var/log 下的 .log。
du -hd2 /home/user 只查看 /home/user 深度的两倍。
使用这些组合可以高效地查看磁盘空间。

Linux如何统计目录大小du命令实例

嗯...在Linux中...命令du...是看目录占用了多少空间...
比方说2 02 2 年...当时在公司...服务器出问题...空间满了...就用这个du...
看看...基本用法是这样的...
第一个...我想看看目录占用了多少空间...
就用这个...du -s /home/user/Documents...
然后按回车...它会给你一个数字...例如...最后一次我看到它是 4 5 6 7 8 9 2 ...单位是 KB...大约 4 .5 GB...就是这样...快速想法...
第二...数字太大难以理解...
只需添加 -h...du -sh /home/user/Downloads...
最后一次我看到它是 2 .3 G...单位会自动转换...MB、GB...这将使您更容易明白了...
第三...我想知道每个子目录占用多少 下面...
不要加 -s...du -h /home/user/projects/...
会一一列出...比如...上次看到...应用目录是1 2 0MB...另一个是1 8 9 0MB...总共是2 1 .2 GB...这样就可以知道哪个目录占用多了...
第四...目录太深了...我不想看太多细节...
就用--max-depth=1 ...du -h --max-depth=1 /home/user/...
上次查看...照片4 8 0M...视频2 .1 G...文档1 .3 G...总共8 .7 G...一目了然...主要看一级目录...
第五...你要找占用的目录最大份额...
将 du 输出进行排序...
du -h /home/user/ | sort -h...
上次我看到...它是从小到大排序的...最后一个是最大的...如果你想从最大到最小排序...add -r...du -h /home/user/ | sort -hr...
就是这样...很快就能找到问题...
当时一头雾水...后来才意识到...可能是我有点偏激...但是确实管用...
总之...-s是看求和...-h是看易读的单位...-max深度是看层次...sort是排序...
2 02 2 年...在北京的一家公司...我用这个du...打扫了很多垃圾文件它...节省大量空间...
仅此而已...

Linux文件系统du -sh命令详解

说白了,du -sh 是Linux中的“神命令”,可以帮助你快速查看某个文件或目录占用了多少空间。
这件事在很多方面都很复杂,但是如果使用得当的话,却是非常没有麻烦的。

我们先来说说最重要的事情。
必须加-s。
这可以直接为您提供子目录的总大小,而无需重复。
比如统计/home/user时,会直接显示2 .3 GB,所以不需要一一打开子文件夹。
还有一点是-h,它会像2 .3 G一样自动将字节数转换为K/M/G,说实话还是挺直观的。
去年我们运行监控系统时,仅使用 du -sh 就可以在短短 5 分钟内找到数百 GB 的无用日志目录,这比手动 ls 效率高了数倍。

我一开始以为你统计的是文件的实际大小,后来发现是错误的。
它计算了磁盘块的数量。
1 KB的小文件可以算作4 KB。
很多人没有注意到这一点。
还有一个更重要的细节。
默认情况下,软链接不计算链接指向的内容。
要计数,您需要添加 --dereference。
当我们上次清除缓存时,我们几乎因此错过了链接提到的1 0G临时文件。

最后,建议你尝试一下du -sh 配合sort -rh,它可以快速按大小排序,更容易找到占用空间最多的目录。
但请注意,如果权限不足,比如某个子目录打不开,du就会退出并报错。
这个时候你就必须用sudo来运行它。