在Unix上有没有办法看到磁盘上最大的目录?
我需要知道为什么我几乎完成了服务器上的空间,我不知道大部分空间在哪里使用..
谢谢
试试: du --max-depth=7 /* | sort -n
du --max-depth=7 /* | sort -n
– 它不会告诉你的目录,并会有重复,但它会列出所有7层深的所有内容,并按大小顺序sorting。
我最喜欢的工具是ncdu 。
我build议你使用猴面包树 ,这将给你一个你的磁盘使用情况的graphics化的概述。 它也可以用于远程文件夹(通过ssh,ftp,…)扫描远程服务器上的磁盘使用情况。
编辑:如果你想直接在你的shell访问服务器上调查磁盘使用情况而不是远程访问,而且你想要一个比du
更方便的工具,你也可以尝试一下durep ,它会生成一个磁盘报告使用条形图。
我通常使用这样的东西:
du -ch / | sort
如果您不想从目标中看到特定的等级,则可以使用–max-depth =应用深度限制,如下所示:
du -ch --max-depth=4 /
试试df
& du -sh /
。 并recursion地du -sh
。 不是最好的解决scheme。
就像是
sudo du / | 分类
会给你一个快速的答案(最后的条目是最大的文件/目录)
# cd /; du -shb | sort -nr > /root/home/disk-space-report.txt
我总是使用类似的语法
du -sm --max-depth=4 /path/i/want/to/drill | sort -nr | head -n 20
du -sm --max-depth=4 /path/i/want/to/drill | sort -nr | head -n 20
。
当然,最大深度和头部参数可能会有所不同,但是上面会列出20个最大的目录。
我经常在每个文件系统的顶部运行du -dak > du-dak.out
。 然后,我可以用xdu < du-dak.out
得到一个graphics显示。 如果您只有文本访问权限,则可以在通过networking传输du-dak.out文件之后远程执行此操作。