Linux: Find Out Directory Size Command

Posted on in Categories , , last updated June 9, 2013

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.

[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

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

11 comment

  1. “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.

  2. 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

    [email protected]:/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	.
    
    1. 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.

Leave a Comment