Is there any command that could show me the size of several folders in linux, perhaps ranked from biggest to smallest?


As others said, du is the way to go. But knowing the options to du is essential. Here they are:

du -m --max-depth 1 /foo /bar

This will give you the size in megabytes of the directories contained in /foo and /bar. If you want the output to be sorted, pipe it through the sort utility:

du -m --max-depth 1 /foo /bar | sort -n -k 1

Or you can pass:

du -sm /dir1 /dir2 | sort -nrk 1
du -sm * | sort -nrk 1

The difference between the first and the second is that the sencond will pick all the files and dirs in the current directory and the first just the dirs you passed.

  • du -s and sort don't really like each other. – innaM Nov 11 '09 at 13:04
  • I have yet to run into some kind of problem with these lines in any of my commonly used distros: openSUSE, Arch & Ubuntu. I concour that without the -m switch it would just mess the whole thing. =p – Mereghost Nov 11 '09 at 13:33
  • Oh god! Sorry. I somehow mixed up -s and -h. Please disregard my comment. – innaM Nov 11 '09 at 13:52

du [options] [directories and/or files]


If you would like a graphical (X11) display, consider installing xdiskusage. You can either pipe the output of du into it (as you might do if you're running du as another user, or on another system, or at another time), or you can run it interactively and it will invoke du for itself.

As usual, once it's installed, consult the man page.


use du in terminal.


From the command line I prefer to list the biggest last so I use:

du -shm ./* | sort -n

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.