Is there a way in Unix to see the biggest directories on disk?
I need to know why I'm almost out of space on the server,= and I don't know where most of the space is used.
Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.
Sign up to join this communityTry: 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.
--max-depth=0
(or rather, use --summarize
/-s
), and then drill into the largest directories by hand.
Nov 11, 2010 at 23:31
du -cs * | sort -n
for an overview of which directory is bigger?
My favorite tool for this task is ncdu.
du | sort
), but with WAY less typing.
Nov 12, 2010 at 4:19
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.
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 /
I parse through each folder level, to find the root of the problem, like this:
du -h --max-depth=1 -t 1G /Dir0/Dir1 | sort -n | tail -10
du -h --max-depth=1 -t 1G /Dir0/Dir1/biggestFolderInDir1 | sort -n | tail -10
-h: human readable sizes
-t 1G: only list directories bigger than 1G
sort -n: sort numerically (2G will be considered bigger than 1T)
tail -10: only list the last (biggest) 10 items
Something like
sudo du / | sort -n
Will give you a quick answer (last entries are largest files/directories)
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.
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.
du | sort -h
then usetail
- or, you can usesort -rh
so the largest are at the beginning and you can usemore
to see it. This is working great on Ubuntu 16.04 LTS in August 2017.