Is there a way in Unix to see the biggest directories on disk ?

I need to know why I'm almost done with the space on the server, and I dunno where most of the space is used..

thanks

link|improve this question

2  
possible duplicate of Find largest directories/files recursively – Dennis Williamson Nov 11 '10 at 23:35
feedback

9 Answers

up vote 7 down vote accepted

Try: du --max-depth=7 /* | sort -n - it won't just tell you directories, and there will be duplicates, but it will list everything 7 levels deep and sort them by size order.

link|improve this answer
2  
7 levels all at once might be overwhelming. I would start with --max-depth=0 (or rather, use --summarize/-s), and then drill into the largest directories by hand. – Steven Monday Nov 11 '10 at 23:31
Good point, just chose that number as that's how far I typically end up going before I find something useful. – James Lawrie Nov 13 '10 at 1:36
feedback

I suggest you to use baobab, which will give you a graphical overview of your disk usage. It can also be used for remote folder (through ssh, ftp,...) to scan the disk usage on a remote server for instance.

Edit: If you would like to investigate the disk usage directly on the server with your shell access and not remotely, and you would like a tool more convenient than du, you can also have a try with durep which will generate a report of the disk usage with bar graphs.

link|improve this answer
cool, but I only have shell access on my VPS (low RAM) – Patrick Nov 11 '10 at 22:21
feedback

My favorite tool for this task is ncdu.

link|improve this answer
Nice. It works pretty much the way I'd do it by hand (with du | sort), but with WAY less typing. – Steven Monday Nov 12 '10 at 4:19
feedback

Try df & du -sh /. And recursively du -sh. Not the best solution though.

link|improve this answer
feedback

Something like

sudo du / | sort -n

Will give you a quick answer (last entries are largest files/directories)

link|improve this answer
Define quick? In my experience this usually takes at least 5-10 minutes. – James Lawrie Nov 11 '10 at 22:25
feedback

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

link|improve this answer
feedback

I always use syntax like

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

max-depth and head parameters can vary, of course, but the above would list 20 biggest directories.

link|improve this answer
feedback

I'm regularly running du -dak > du-dak.out at the top of each file system. Then, I can get a graphical display with xdu < du-dak.out. This can be done remotely after transferring the du-dak.out file over the network should you only have text access.

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

link|improve this answer
feedback

I usually use something like this:

du -ch / | sort

You can apply a depth restriction using --max-depth= if you don't want to see past a certain level from your target, like so:

du -ch --max-depth=4 /
link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.