假设我想获取 Linux 文件系统中每个目录的大小。使用时ls -la
我并没有真正得到文件夹的汇总大小。
如果我使用,df
我会得到每个已安装文件系统的大小,但这也帮不上忙。而使用,du
我会得到每个子目录的大小和整个文件系统的摘要。
但我只想获取文件系统 ROOT 文件夹内每个目录的汇总大小。有没有什么命令可以实现这一点?
答案1
这就是你想要的:
du -sh /*
这意味着:
-s
仅给出每个命令行参数的总数。-h
用于人类可读的后缀,如M
兆字节和G
千兆字节(可选)。/*
只是扩展到中的所有目录(和文件)/
。注意:不包括点文件;运行
shopt -s dotglob
以也包括这些。
按大小排序也很有用:
du -sh /* | sort -h
这里:
-h
确保sort
正确解释人类可读的后缀。
答案2
我经常需要找到最大的目录,因此为了获得包含 20 个最大目录的排序列表,我这样做:
du -m /some/path | sort -nr | head -n 20
在这种情况下,大小将以兆字节为单位报告。
答案3
我喜欢用奈德为此,您可以使用光标导航并深入浏览目录结构,它运行得非常好。
答案4
以下du
调用应该可以在 BSD 系统上运行:
du -d 1 /