📜  bash ls 按大小排序 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:59:28.248000             🧑  作者: Mango

Bash ls按大小排序

在Linux操作系统中,一般使用命令行进行操作,其中最常见的命令之一就是ls命令,它用于列出当前目录中的文件和文件夹。但是默认情况下,它们是按字母顺序排列的,而不是按大小排列的。在本文中,我们将介绍如何使用ls命令以大小排序。

基本语法

以下是使用ls命令按大小排序的基本语法:

ls -S

这将按文件大小(以字节为单位)降序(从大到小)列出文件和文件夹。

深入学习

如果您只需要列出文件并以大小排序,则可以使用以下命令:

ls -p | grep -v / | xargs ls -S

这将列出当前目录中的所有文件,并按大小降序排序。让我们看看命令中每个部分的作用:

  • ls -p:列出文件和文件夹,并在文件夹后面添加斜杠。
  • grep -v /:筛选掉包含斜杠的行(即文件夹)。
  • xargs ls -S:将结果传递给ls命令,以按文件大小排序。

如果您还需要列出文件夹并按大小排序,则可以使用以下命令:

ls -p | grep / | sed 's/\/$//' | xargs du -hs | sort -rh

让我们看看这个命令的不同部分:

  • ls -p:列出文件和文件夹,并在文件夹后面添加斜杠。
  • grep /:筛选出包含斜杠的行(即文件夹)。
  • sed 's/\/$//':去掉文件夹名称后面的斜杠。
  • xargs du -hs:计算每个文件夹的大小。
  • sort -rh:按大小(以人类可读的格式)降序排序。
结论

ls命令是Linux中一个非常重要的命令,当与其他命令一起使用时可以实现很多功能。使用ls -S命令按大小排序可以帮助您更快地找到大文件,而使用上述高级命令可以帮助您更好地管理文件和文件夹。