Tue 15 Aug 2006
Linux - Find large directories
Posted by Josh under Linux -Use this simple command to find large directories. To find directories over 1GB
[root@localhost]# du -h / | grep ^[0-9\.]*G
Click to play tutorial:
To find directories over 10GB and sort the output with the largest directories on top
[root@localhost]# du -h / | grep ^[1-9][0-9][0-9\.]*G | sort -rn
To find directories over 200GB
[root@localhost]# du -h / | grep ^[2-9][0-9][0-9][0-9\.]*G
du -h Lists directory sizes in human readable format
/ Tells the du command to search the / (root) directory. It could easily be another directory such as /home/ or /var/log/
| The | or pipe symbol sends the output of the "du -h /" command to the following command.
grep Grep searches through the output looking for strings matching the following regular expression.
^[1-9][0-9][0-9\.]*G - A regular expression
^ Represents the start of the string
[1-9] Represents digits 1-9
[0-9] Represents digits 0-9
[0-9\.] Represents digits 0-9 or . (the "dot" character is a special character and must have a \ in front to show we are looking for a "dot"
* Represents the previous expression ([0-9\.]) Zero or more times.
G Represents the capital letter G. When du outputs data in human readable format, Gigabytes are represented by "G".
| The Pipe symbol again. This time it is used to send output to the sort command.
sort -rn This command sorts the output from the other commands with the largest directories on top.










July 31st, 2007 at 3:10 pm
Hello! Good Site! Thanks you! cywwuykwizpe
June 16th, 2008 at 10:12 am
Thanks for this! I was looking for an easy way to pick out the largest directories to see where all my space had gone. Glad I found this post.