虽然 Linux 命令ls 可以显示文件的大小,但它不适用于目录,目录总是显示为 4096 字节。您需要使用该du 命令递归到子目录并打印出总数。
使用 du 命令
最好的替代品ls 是使用du 几个标志:
du -had 1
该-h 标志代表“人类可读”,它将为您格式化 KB、MB 和 GB 的大小,而不是让您获取计算器。
该-a 标志是“全部”,将包括单个文件和目录,使其有助于模仿工作方式ls 。
该标志是对 打印结果的-d 1 深度的限制。du默认情况下,它被配置为打印出每个子目录,如果您有很多嵌套文件,这可能会很痛苦。该-d 标志会将它们全部添加并打印出执行命令的每个可见目录的总数。
如果您希望它列出每个目录,您可以运行带有–apparent-size 标志的命令,这将显示每个子目录的总大小,就像您在文件资源管理器中右键单击 > 属性一样。
不过这一切都很混乱,所以如果您想查看当前文件夹中最大的目录,您可以通过管道将输出传递给sort 命令。确保也使用-h 标志,否则sort 将被128MB 视为大于1GB.
du -had 1 | sort -rh