递归查找最大的目录/文件

递归查找最大的目录/文件

我正在寻找一个脚本/程序来显示顶部X最大的目录/文件,然后进入这些文件夹并显示X可配置深度的最大目录/文件。

231MB bin
 - 220MB ls
  - 190MB dir
  - 15MB def
  - 3MB lpr
 - 10MB asd
 - 1MB link

我怎样才能做到这一点?

答案1

你可以通过以下命令查看 10 个最大的目录:

du -cks *|sort -rn|head

这将以递归方式将每个目录中所有内容的大小相加 - 但你必须在每个级别手动执行它才能了解每个目录中的内容

答案2

你的系统可能已经安装了下列某个程序,或者可以通过包管理器获取到:

图形:

基于文本:

  • 北卡罗莱纳大学-ncurses
  • GT5- 文本浏览器(lynx、w3m 等 - 自动选择) - 它实际上是一个 shell 脚本!

它们可能无法完全按照您指定的方式工作,但它们应该可以满足您的大部分需要。

答案3

我对布伦特的回答的变体如下:

# du -a | sort -rn | head

这将为您提供树中最大的目录或文件。

答案4

这将获得整个目录树中前 10 个最大文件/文件夹的排序后的可读大小:

du -ah | sort -hr | head

例子

1019M   .
431M    ./prod
195M    ./prod/mainprogram
180M    ./utils
162M    ./prod/subprogram1
157M    ./.git
156M    ./py
155M    ./.git/objects
148M    ./.git/objects/pack
128M    ./prod/mainprogram/hdf

相关内容