≡ Menu

Linux: Find Out Directory Size Command

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.


The basic syntax is:

du dirName
du [options] dirName


Without any options, du command shows the names and used space for each directories including all sub-directories in the current directory:
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

{ 11 comments… add one }

  • Mahdi June 9, 2013, 10:23 pm

    Thank you very much!

  • kgas June 10, 2013, 11:30 am

    another good one is ncdu

    • tom March 16, 2014, 8:08 pm

      ncdu is nice, thanks for that tip

  • bart June 10, 2013, 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.

    • mosi March 18, 2014, 3:59 pm

      thanks sir for this impressive command :)

      • Finn March 30, 2014, 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”

  • meow June 10, 2013, 2:51 pm

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

  • na3r June 30, 2013, 7:41 pm

    another usefull command to determine directory size is

    du -h | sort -h

    it sorts directory by size

  • Bogdan October 22, 2013, 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	.
  • rueben November 9, 2013, 3:57 pm

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

    du -sh *

    • vincent December 19, 2013, 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.

Leave a Comment

   Tagged with: ,