如何在 Linux 上轻松列出所有目录并按大小排序

ls Linux 上的命令用于列出任何目录的所有内容。 但是,要显示更多选项并按大小对所有目录进行排序,我们必须使用不同的命令,称为 . 在本教程中,我们将详细讨论此命令,我们还将了解如何合并不同的工具,例如 , 尾巴种类 实用程序使我们更容易阅读输出。

目录

使用 du 命令列出所有目录

默认情况下,命令递归地列出所有目录和子目录,因此除非您想用大量输出向终端发送垃圾邮件,否则您应该将此命令与多个选项一起使用,尤其是在当前目录有很多子目录的情况下。

你可以运行 像这样的命令:

du -h

这里, -H 选项表示“人类可读”,因此命令的输出将采用用户更容易阅读的格式。

使用 du 命令列出所有目录

如您所见,该命令的输出仍然没有按大小排序,我们以递归方式获得了所有目录的大小。 要限制命令使其不会深入目录结构,您可以使用 –最大深度=N 选项连同 命令。

du -h --max-depth=1
仅在深度 1 列出目录

按大小排序目录

要列出所有目录并按大小对其进行排序,您可以通过管道输出此命令的输出并将其传递给 种类 像这样的实用程序:

du -h --max-depth=1 | sort -h
列出所有目录并按大小排序列出所有目录并按大小排序

请注意,您不必在目录中检查其大小。 您可以像这样指定任何目录:

du -h --max-depth=1 /path/to/directory
列出自定义目录的大小列出自定义目录的大小

要仅列出 10 个最大的目录,您可以使用 命令连同 命令。 我们还将使用 尾巴 命令以避免列出当前目录的大小,如下所示:

du -h --max-depth=1 2> /dev/null | sort -hr | tail -n +2 | head
列出最大的 10 个目录列出最大的 10 个目录

概括

我们希望您能够在您的 shell 脚本和日常生活中使用此命令来列出所有目录并按大小对它们进行排序,您也可以为这个长命令设置别名并使用别名,这样您就不必每次要检查当前子目录的大小时都输入一个长命令。

资源

du 命令 – 手册页