hoo*_*rEE 27 macos terminal du
在Linux中,我键入du -sh * | sort -rh以显示当前目录中的文件和目录,从最大到最小排序.
我如何在OSX终端中执行此操作,最好不要额外安装任何东西?
Cam*_*ust 35
2年(使用OSX 10.11中的终端)更好地回答这个问题的方法是简单地将-h添加到ls命令以获得人类可读的文件大小.
根据我在以后的OSX版本中的理解,不需要使用brew来安装coreutils.(如果我错了,有人纠正我.)
例如,要获取当前目录中的文件列表,作为单个列列表并显示文件详细信息,请输入:
ls -l
Run Code Online (Sandbox Code Playgroud)
如果您想要人类可读的文件大小,只需添加"h":
ls -hl
Run Code Online (Sandbox Code Playgroud)
要么
ls -lh
Run Code Online (Sandbox Code Playgroud)
在这种情况下," - "后面的字母可以是任何顺序.
如果,如问题细节所述,人们希望文件列表按文件大小排序,顶部最大文件大小,则添加大写"S":
ls -lhS
Run Code Online (Sandbox Code Playgroud)
如果您还想列出不可见文件,请添加"a":
ls -alhS
Run Code Online (Sandbox Code Playgroud)
" - "之后的字母也可以是任何顺序.
如果您经常在当前目录中创建和编辑文件,可能是因为您正在处理任务或项目,则另一种组合是:
ls -hltur
Run Code Online (Sandbox Code Playgroud)
这将在终端窗口的长列表中列出人类可读文件大小格式的文件.
"t"按照上次修改的日期/时间指示文件的排序顺序.
然后,"u"稍微改变一下,以使用上次访问文件的时间,而不是最后修改.
然后,"r"反转列表的顺序,以便最后列出最近访问或"触摸"的文件,位于列表的底部.
完整组合意味着您有一个详细列表,其中包含您最近阅读,打开或修改过的文件,或者您已经运行的流程或其他流程类似地"触摸"了这些文件,所有这些都在列表的底部.
因此,即使当前目录中的列表很长,使得无法在不向上滚动的情况下读取列表的开头,您与之交互的文件可能会在您的下一个文件上方保持可见,准备输入命令行.
这些选项以及更多内容位于ls命令的man(手动)页面中:
man ls
Run Code Online (Sandbox Code Playgroud)
如果您想在上述某种格式中定期列出文件,或者在阅读手册页时选择另一种格式,则可以在.bash_profile文件中添加别名(例如,使用nano打开此文件,并在您执行此操作时)在你的主目录中).
例如,要满足问题原始海报的要求,请打开文件并在新行上添加:
alias lss='ls -hlS'
Run Code Online (Sandbox Code Playgroud)
然后,在保存文件并退出该终端窗口并打开一个新的终端窗口后,在命令行中键入"lss"应该提供您在列出文件时常规查找的内容.
如果您不知道如何使用nano,请先键入打开其man(ual)页面
man nano
Run Code Online (Sandbox Code Playgroud)
该手册页将解释如何使用nano.
要退出手册页并返回可输入命令的位置,请按"q"键.
小智 20
你没有.除非你安装GNU Coreutils.
以酿造为例
brew install coreutils
Run Code Online (Sandbox Code Playgroud)
然后你得到支持-h选项的gsort命令.
下面给出的命令行将列出当前目录中根据大小(从大到小)排序的所有文件和目录。输出格式为
ls -S -lh | awk '{print $5, $9}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32250 次 |
| 最近记录: |