在OSX终端中显示人类可读的文件大小

时间:2014-08-22 20:07:56

标签: macos terminal du

在Linux中,我输入du -sh * | sort -rh来显示当前目录中的文件和目录,从最大到最小排序。

如何在OSX终端中执行此操作,最好不要再安装任何其他内容?

3 个答案:

答案 0 :(得分:30)

2年后(使用OSX 10.11中的终端)更好地回答这个问题的方法是简单地将-h添加到ls命令以获得人类可读的文件大小。

根据我在以后的OSX版本中的理解,不需要使用brew来安装coreutils。 (如果我错了,有人纠正我。)

例如,要获取当前目录中的文件列表,作为单个列列表并显示文件详细信息,请输入:

ls -l

如果您想要人类可读的文件大小,只需添加“h”:

ls -hl

ls -lh

“ - ”之后的字母在这种情况下可以是任何顺序。

如果问题详细说明,要按文件大小排序文件列表,最大文件大小在顶部,然后添加大写“S”:

ls -lhS

如果您还想要列出不可见的文件,请添加“a”:

ls -alhS

“ - ”之后的字母也可以是任何顺序。

如果您经常在当前目录中创建和编辑文件,可能是因为您正在处理任务或项目,则另一种组合是:

ls -hltur

这将列出人类可读文件大小格式的文件,在终端窗口的长列表中。

“t”指示文件按其上次修改日期/时间的排序顺序。

然后“u”稍微改变一下,以使用上次访问文件的时间,而不是最后修改的时间。

“r”然后反转列表的顺序,以便最后列出最近访问或“触摸”的文件,位于列表的底部。

完整组合意味着您有一个详细列表,包含您最近阅读,打开或修改过的文件,或者您已经运行的流程或其他流程类似地“触摸”了所有文件,所有这些都在底部名单。

因此,即使您当前目录中的列表很长,以至于无法向上滚动也无法再读取列表的开头,您与之交互的文件可能会在您的下一个文件上方立即可见,准备输入,命令行。

这些选项以及更多内容位于ls命令的man(手动)页面中:

man ls

如果您想要在阅读手册页时以上述某种格式或您选择的其他格式定期列出文件,则可以在 .bash_profile 文件中添加别名(例如,使用nano打开此文件,并在您的主目录中执行此操作)。

例如,要完成问题原始海报所需的内容,请打开文件并在新行上添加:

alias lss='ls -hlS'

然后,在保存文件并退出该终端窗口并打开一个新的终端窗口时,在命令行中键入“lss”应该提供您在列出文件时常规查找的内容。

如果您不知道如何使用nano,请首先输入

打开其man(ual)页面
man nano

该手册页将解释如何使用nano。

要退出手册页并返回可输入命令的位置,请按“q”键。

答案 1 :(得分:20)

你没有。除非你安装GNU Coreutils。

以brew为例

brew install coreutils

然后你得到支持-h选项的gsort命令。

答案 2 :(得分:3)

下面给出的命令行将列出当前目录中根据大小(从大到小)排序的所有文件和目录。输出格式为

ls -S -lh | awk '{print $5, $9}'