是否有一个简单的命令可以显示目录(文件夹)中所有文件的总大小(磁盘使用情况)?
我已经尝试过这些,但它们并没有达到我想要的效果:
ls -l
,它只显示目录中各个文件的大小,也不df -h
,它仅显示我的磁盘上的可用空间和已用空间。
答案1
该命令du
“总结每个文件的磁盘使用情况,以目录为单位递归”,例如,
du -hs /path/to/directory
-h
是为了获得“人类可读”的数字,例如获取140M
而不是143260
(大小以 KB 为单位)-s
用于摘要(否则你不仅会得到文件夹的大小,还会得到所有内容在文件夹单独)
使用时,-h
您可以使用以下方式对人类可读的值进行排序
du -h | sort -h
该-h
标志sort
将考虑“人类可读”的大小值。
如果不想递归列出所有文件和目录,可以提供参数--max-depth
来限制显示的项目数。最常见的是,--max-depth=1
du -h --max-depth=1 /path/to/directory
答案2
最近我发现了一个很棒的基于 ncurses 的交互式工具,它可以快速为您提供目录大小的概览。多年来我一直在寻找这种工具。
- 快速深入查看文件层次结构
- 您可以从工具内部删除巨大的临时文件
- 非常快
想象一下猴面包树对于命令行:
apt-get install ncdu
编辑:您可以将搜索限制在同一文件系统中的文件,使用-x
:
ncdu -x /
这将忽略根文件系统所在位置之外的其他已挂载文件系统。
稍微优化一下,使用 '-q' 选项来增加屏幕更新间隔时间。这些选项可以组合使用:
ncdu -xq /var
一如既往,man ncdu
建议阅读。
答案3
这将以递归方式查找大小并将其放在每个文件夹名称旁边,以及底部的总大小,全部采用人类格式
du -hsc *