Linux 系统中的一个目录可以容纳从几个文件到成百上千个文件。

您可能需要按大小对文件进行排序,无论是升序还是降序。按大小排序文件的原因可能会有所不同。我们可能想要定位最大到最小的文件,反之亦然。

您可以使用 ls 命令轻松地对文件进行排序。

在本教程中,我们将介绍使用 ls 命令按大小对文件进行排序的各种方法。

在我们的示例中,我们将在 /var/cache/apt/archives 目录进行。

先决条件

  • 访问 Linux 机器。
  • 最好充当 非 root sudo 用户以确保安全的环境

列出文件

要在 Linux 中列出文件,我们通常使用ls命令。ls 是 list 的缩写,可以不带任何参数使用:

ls

执行此命令时,将列出当前目录中的文件。

我们还可以使用-l参数来生成文件和目录的长列表:

ls -l

-l 参数提供了几个细节。

根据文件大小对文件进行排序

到目前为止,这很简单。默认情况下,ls命令按字母顺序对文件进行排序。

按降序对文件进行排序(-S 参数)

要让 ls 按大小对文件进行排序,我们可以使用-S参数,该参数默认按降序对文件进行排序。

ls -lS

或者,您可以通过将-S替换为–sort参数来获得相同的结果,并且您将获得相同的输出。

为此,我们需要执行以下命令:

ls -l --sort=size

按升序对文件进行排序(-Sr 参数)

如果我们需要按文件大小升序对文件进行排序怎么办——这与我们上面所做的相反。

我们可以通过在-S参数中添加-r作为参数来做到这一点,这基本上只会以反向降序(即升序)列出文件。

这次输出是按升序生成的。

和前面一样,我们也可以使用 –sort 参数。我们将只添加-r并且文件将以相反的顺序列出。

ls -lr --sort=size

以易于理解的格式按大小对文件进行排序

除了根据字节大小列出文件外,我们还可以使用-h参数使文件大小更易于阅读

人们更容易理解以兆字节或千兆字节为单位的文件大小,而不是长数字格式,例如 10956。

让我们尝试列出文件,按升序对它们进行排序(-Sr),并且还使用-h参数。

ls -lSrh

现在文件按其大小升序排序,但采用易于理解的格式。在此命令中,我们生成文件和目录的列表,按文件大小升序排序,然后将字节转换为更易于阅读的格式,如千字节。

在输出中,文件大小现在被列为 11K,而不是像 2088 或 8212 这样的字节大小。

结论

OK。希望本教程可以帮助您在 Linux 中使用 ls 命令根据文件大小对文件进行排序。如果我们遇到任何问题,请随时发表评论或 联系我们,我们会尽快回复我们。

发表评论