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

如果我們需要在當前目錄下,按大小從大到小的順序列出所有文件(包括子目錄下的所有文件),那麼這裏推薦兩個方法。

方法一:使用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對輸出進行排序。

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