【问题标题】:ls -S / ls -r Sorting on the command line (Bash) doesn't make sensels -S / ls -r 在命令行(Bash)上排序没有意义
【发布时间】:2015-10-28 00:34:38
【问题描述】:

我正在命令行上浏览本教程。 http://lifehacker.com/5633909/who-needs-a-mouse-learn-to-use-the-command-line-for-almost-anything

它提到我可以输入 ls -S 以按文件大小对结果进行排序(我假设它的意思是从最大到最小),并且我可以输入 ls -r 以另一种方式对结果进行排序(从最小到最大)

我立即在我的主目录上尝试了这些命令,但在这两种情况下,同一个文件 tweets.csv 是列出的第一个文件。

由于 tweets.csv 不可能既是最大文件又是最小文件,我很困惑。

如果它对我的主目录有帮助,我还有一堆其他文件夹和其他文件类型,例如另一个 .csv、.txt、.py、.bash 和 .sh。我也在运行 OSX El Captain 版本 10.11.1

那么为什么 ls -S 和 ls -r 不给我相反的结果呢?我误解他们了吗?

如果有任何帮助,我将不胜感激。谢谢!

【问题讨论】:

  • 注意到列表下面的命令了吗?它是ls -lSr。看看效果如何?

标签: bash shell terminal ls


【解决方案1】:

两个选项需要两个字母:

ls -rS

您可以在其中添加long 以获得:

ls -lrS

顺序通常无关紧要,因此-lrS-rSl 的含义相同,因为将它们拆分为单独的值:

ls -r -S -l

也就是说,每个选项都因其存在而被激活。

您可以按日期排序,并使用-r 反转输出:

ls -lc
ls -rlc

【讨论】:

    【解决方案2】:

    -r 反转指定的排序顺序。如果您不指定任何顺序,文件将按名称排序。 ls -r 按名称对它们进行排序,从 Z 到 A。要按大小从大到小对它们进行排序,请使用

    ls -Sr
    

    添加-l 也会显示文件大小,因此您可以验证文件是否正确排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-23
      • 2018-01-03
      • 2015-01-05
      相关资源
      最近更新 更多