如何按大小排序列出当前目录下(包含子目录)的所有文件

如果我们需要在当前目录下,按大小从大到小的顺序列出所有文件(包括子目录下的所有文件),那么这里推荐两个方法。

方法一:使用zshls

如果你使用的是zsh,那么可以使用如下命令:

ls -ldU -- **/*(.OL)

其中(.OL)有一个glob限定符.选择常规文件,OL以文件大小反转顺序排列(o 升序,O降序)。

某些操作系统对传递给命令的参数列表的大小有限制。在这些情况下,可以尝试如下命令:

autoload -U zargs
zargs ./**/*(.OL) -- ls -ldU

方法二:使用finddusort

如果你没有安装zsh,请使用以下命令来列出完整的文件路径和排序:

find . -type f  -exec du -h {} + | sort -r -h

find命令将递归地查找当前目录和子目录中的所有文件,du -h显示这些文件大小,然后再使用sort对输出进行排序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章