递归列出特定目录中的文件并按大小排序

递归列出特定目录中的文件并按大小排序

我相当确定 ls -R 将递归列出当前目录的内容,但是,我无法弄清楚如何以指定的方式对其进行排序。

我可以调整 ls -R 函数以按大小排序吗?或者我可以使用其他函数吗?

作为额外功能,它可以在不移动到指定目录的情况下在指定目录中使用吗?

谢谢

答案1

当然可以,只需在 ls 中添加 -S 选项即可

ls -R -S -l /path/to/folder

我还添加了 -l 来显示文件大小。

还有命令树,更加人性化。需要通过sudo apt-get install tree

tree -h --sort=size /pathtofolder

leonid@DevSSD:~$ tree -h --sort=size / |head -n 10
/
├── [4.0G]  swapfile
├── [3.2M]  core
├── [ 64K]  swap64k
├── [ 16K]  lost+found [error opening dir]
├── [ 12K]  etc
│   ├── [152K]  ld.so.cache
│   ├── [ 53K]  mailcap
│   ├── [ 24K]  mime.types
│   ├── [ 19K]  services

相关内容