How to understand what's taking up disk space?

If you want a command-line tool, I prefer ncdu, an ncurses version of du. It scans the disk (or a given folder) and then shows the top-level space usages; you can select a given directory to get the corresponding summary for that directory, and go back without needing to reanalyze:

Screenshot of ncdu


If you're ok with a GUI program, Filelight is the closest thing to WinDirStat I've found; it shows a graphical view of space consumption:

Screenshot of Filelight

Like ncdu, Filelight lets you select a given directory to get the breakdown for that directory


Based on your issues in installing ncdu my recommendation would be to use du and sort on together.

For instance:

  • du /home | sort -rn (will search all files/directories under /home and sort them by largest to smallest.
  • du -h /home | sort -rh (same but will show it in MB/KB/etc) - Note this requires coreutils 7.5 or newer (sort --version to check)

You can replace /home with any directory of your choice.


You should be aware that WinDirStat is actually a port of KDirStat, which is a Linux/KDE program. So, if you are looking for a Linux alternative to WinDirStat, you certainly should take a look at KDirStat. It is already packaged in most distros, just install it.

Another alternative is FileLight, already cited by Michael Mrozek, and the Konqueror plugin fsview (you can run it standalone from the command-line).