如何在Unix / Ubuntu中找到最大的目录?


34

Unix中有没有办法查看磁盘上最大的目录?

我需要知道为什么我几乎用完了服务器上的空间,并且不知道大部分空间都在哪里使用。

谢谢



这是一个很好的例子unix.stackexchange.com/questions/4681/…- 它说先使用du | sort -h后再使用tail-或,您可以使用,sort -rh以便最开始时使用最大的,您可以使用more它来查看它。这在2017
。– SDsolar

Answers:


54

尝试:du --max-depth=7 /* | sort -n-它不仅会告诉您目录,而且会重复,但会列出所有7个级别的内容,并按大小顺序对其进行排序。


13
一次达到7个级别可能会令人不知所措。我将从--max-depth=0(或者更确切地说,使用--summarize/ -s)开始,然后手动钻入最大的目录。
史蒂文

好点,就是选择那个数字,因为那是我通常会走多远才能找到有用的东西。
James L

3
有关du -cs * | sort -n哪个目录更大的概述该怎么办?
lorenzog 2013年

我更喜欢:du -ch | sort -nr | head -10
Sklavit

47

我最喜欢的工具是ncdu

ncdu示例屏幕


3
真好 它的工作方式几乎与我手工操作(使用du | sort)的方式相同,但打字方式却较少。
史蒂文

这样好多了。只需安装ncdu并在要分析的目录上键入ncdu命令,即可快速运行。
Jamol

6

我建议您使用baobab,它会为您提供磁盘使用情况的图形概述。它也可以用于远程文件夹(通过ssh,ftp等)来扫描远程服务器上的磁盘使用情况。

编辑:如果您想直接通过外壳访问而不是远程地调查服务器上的磁盘使用情况,并且想要一个比方便得多的工具du,则还可以尝试使用durep来生成磁盘使用情况的报告条形图。


很酷,但我只能在我的VPS(低RAM)上使用外壳程序访问
aneuryzm 2010年

3

我通常使用这样的东西:

du -ch / | sort

如果您不想看到目标的某个特定高度,可以使用--max-depth =来应用深度限制,例如:

du -ch --max-depth=4 /

0

尝试dfdu -sh /。并且递归地du -sh。虽然不是最好的解决方案。


0

就像是

sudo du / | 排序-n

将为您提供快速解答(最后的条目是最大的文件/目录)


2
快速定义?以我的经验,这通常至少需要5-10分钟。
詹姆斯·L

0

# cd /; du -shb | sort -nr > /root/home/disk-space-report.txt


0

我总是像这样使用语法

du -sm --max-depth=4 /path/i/want/to/drill | sort -nr | head -n 20

max-depth和head参数当然可以有所不同,但是上面列出了20个最大的目录。


0

我经常du -dak > du-dak.out在每个文件系统的顶部运行。然后,我可以使用显示图形xdu < du-dak.out。如果您仅具有文本访问权限,则可以在通过网络传输du-dak.out文件之后远程完成此操作。

http://sd.wareonearth.com/~phil/xdu/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.