查找最大的文件或目录

xra*_*alf 11 disk-usage shell-script

哪个命令将打印 tmp 目录中所有文件和目录(包括隐藏文件)的大小,并按照人类可读格式(例如 2 GB)从最大到最小的大小对它们进行排序?

输出可能如下所示:

file.mpg 2GB
file.avi 1.8GB
.backtup 1.7 GB (this is directory)
Run Code Online (Sandbox Code Playgroud)

我尝试使用lsdu命令,但无法找到正确的开关。

pen*_*359 8

这是一个快速修复,使用 du + sort。尝试这个:

du -smc * | sort -n
Run Code Online (Sandbox Code Playgroud)

这将忽略隐藏文件,但这是另一个简单的修复:

du -smc .[^.] .??* * | sort -n
Run Code Online (Sandbox Code Playgroud)

如果上述一种或多种模式与文件不匹配,这可能会导致警告。第一个模式.[^.]匹配以 . 开头的所有两个字符文件名。除了 ..,第二个模式.??*匹配以 . 开头的所有三个或更多字母的文件名。和 * 匹配所有不以 . 对于更复杂的列表,例如在整个文件系统中查找大于 X 的所有文件,或维护文件系统增长列表,我有一些自己编写的 DIY shell 脚本,如果您有兴趣可以分享。