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

Rob*_*anu 19 linux disk-space-utilization

我正在寻找一个脚本/程序,它将显示前x 个最大的目录/文件,然后下降到这些文件夹并显示x 个最大的目录/文件以获得可配置的深度。

231MB bin
 - 220MB ls
  - 190MB dir
  - 15MB def
  - 3MB lpr
 - 10MB asd
 - 1MB link
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Bre*_*nt 23

您可以通过以下方式查看 10 个最大的目录:

du -cks *|sort -rn|head
Run Code Online (Sandbox Code Playgroud)

这将递归地将每个目录中所有内容的大小相加 - 但是您必须在每个级别手动执行它才能获得每个目录中的内容的细分


Den*_*son 11

您的系统可能已安装或可通过您的包管理器获得其中之一:

图形:

基于文本:

  • ncdu - ncurses
  • gt5 - 文本浏览器(lynx、w3m 等 - 自动选择) - 它实际上是一个 shell 脚本!

它们可能不会完全按照您指定的方式工作,但它们应该可以完成您需要的大部分工作。


Dav*_*ley 7

我对布伦特答案的不同之处是:

# du -a | sort -rn | head
Run Code Online (Sandbox Code Playgroud)

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

  • 您不能添加 -h,否则最终 2M 会高于 1G。 (2认同)
  • GNU sort 也支持 -h 选项。 (2认同)