Linux: Find Out Directory Size Command

by on June 9, 2013 · 11 comments· LAST UPDATED June 9, 2013

in , ,

I am a new Linux user. How do I find out size of a directory on Linux operating systems using command line options?

You need to use the du command:

[a] Find and estimate file space usage.

Tutorial details
DifficultyEasy (rss)
Root privilegesNo
Requirementsdu
Estimated completion timeLess than a one minute
[b] Summarize disk usage of each FILE/Directory/Folder.

[c] Shows the sizes of directories and files.

Syntax

The basic syntax is:

du
du dirName
du [options] dirName

Examples

Without any options, du command shows the names and used space for each directories including all sub-directories in the current directory:
du
Sample outputs:

Fig.01: du command in action

Fig.01: du command in action

To find information about /etc and /home/nixcraft directory, enter:
du /path/to/dir
du /etc
du /home/nixcraft
du /root /home/nixcraft

Pass the -h option to get output in human readable format i.e. show output in kilobytes (K), megabytes (M) and gigabytes (G):
du -h /etc
du -h /dir1/file2
du -h /root
du -h

Sample outputs:

8.0K	./.vim
24K	./scripts
48K	./.ssh
16K	./.keychain
2.2M	./.lftp
2.4M	.

Pass the -s option to see the total disk space used by a directory:
du -sh
du -sh /etc/
du -sh /etc /home/ /securebackup/

Sample outputs:

4.1M	/etc
152K	/home/
902M	/securebackup/

Pass the -c to see a grand total for all of the files, type:
du -csh /root/ /etc/ /home/
Sample outputs:

2.4M	/root/
4.1M	/etc/
152K	/home/
6.6M	total
See also
TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 11 comments… read them below or add one }

1 Mahdi June 9, 2013 at 10:23 pm

Thank you very much!

Reply

2 kgas June 10, 2013 at 11:30 am

another good one is ncdu

Reply

3 tom March 16, 2014 at 8:08 pm

ncdu is nice, thanks for that tip

Reply

4 bart June 10, 2013 at 1:49 pm

“du -sh * | sort -r -n”

Show all current files + directories with their size and sort them so that the largest file/folder shows on top and the smallest at the bottom.

Reply

5 mosi March 18, 2014 at 3:59 pm

thanks sir for this impressive command :)

Reply

6 Finn March 30, 2014 at 4:06 pm

That should be “du -sh * | sort -r -h”

-n doesn’t take into account the K/M factor, -h does!

If you want largest at the bottom:
“du -sh * | sort -h”

Reply

7 meow June 10, 2013 at 2:51 pm

When I read the title the first command came to my mind is “du”.

Reply

8 na3r June 30, 2013 at 7:41 pm

another usefull command to determine directory size is

du -h | sort -h

it sorts directory by size

Reply

9 Bogdan October 22, 2013 at 4:51 pm

Another good option to show disk usage is to limit only to one level, you don’t need all information from all folders each time.

du -h –max-depth=1

It will be faster and it won’t show you lots of information

root@bogdan:/root# du -h --max-depth=1
2.9M	./.nbi
948K	./.local
104K	./.gconf
12K	./.gnome2
4.0K	./.gnome2_private
44K	./.filezilla
356K	./.cache
12K	./Desktop
4.0K	./.gvfs
1.2M	./.gem
12K	./.dbus
86M	./.cpan
26M	./perl5
1.5M	./.java
80K	./.config
16K	./.ssh
4.0K	./.pulse
165M	.

Reply

10 rueben November 9, 2013 at 3:57 pm

…and if you don’t want to type out –max-depth=1…

du -sh *

Reply

11 vincent December 19, 2013 at 2:49 pm

This command is a bit different.
It shows the files under top-level directory, but doesn’t show the total size of the directory.
while with –max-depth=1
it does not show the files, but will show the total size.

In terms of the size of the first-level sub-directories, they are the same.

Reply

Leave a Comment

Tagged as: ,

Previous Faq:

Next Faq: