136

du and df are nice, but I don't know how to filter the data they provide the way I do with SequoiaView. I would like to know which are the largest folders and the largest files in a glance.

2

7 Answers 7

205
+50

You might also want to try the NCurses Disk Usage aka ncdu.

Use it like ncdu -x -q if you're invoking it remotely (e. g. via ssh) and ncdu -x otherwise.

ncdu 1.6 ~ Use the arrow keys to navigate, press ? for help
    --- /home/geek -----------------------------------------------------------------
       27.6MiB  /qm test 1 rework
      312.0kiB  /sidebar
       88.0kiB  /rackerhacker-MySQLTuner-perl-6add618
        8.0kiB  /.w3m
        4.0kiB  /.cache
    e   4.0kiB  /.ssh
      160.0kiB   ng.tar.gz
       76.0kiB   plowshare_1~svn1673-1_all.deb
        4.0kiB   .bashrc
        4.0kiB   .bash_history
        4.0kiB   .profile
        4.0kiB   .htoprc
        4.0kiB   .bash_logout
        0.0  B   .lesshst

This is available under Mac OS X too.

The following flags to the command line might be helpful:

-q Quiet mode, doesn't update the screen 10 times a second
   while scanning, reduces network bandwidth used

-x Don't cross filesystem borders (don't descend into a
   directory which is a mounted disk)

Thanks to Sorin Sbarnea.

3
  • 1
    Available under OS X too, via brew. It may be a good idea to call it using ncdu -x -q
    – sorin
    Dec 13, 2012 at 12:46
  • 1
    awesome! the best option for me was ncdu -q, even in ssh. Apr 19, 2013 at 14:36
  • The best one! Thank you.
    – Tomas
    Nov 25, 2023 at 14:48
54

Use some combination of the commands and options:

du --max-depth=1 2> /dev/null | sort -n -r | head -n20

to view only the largest few. If you'd like to use it a lot, then bind it to an alias, e.g. in bash by adding to ~/.bashrc

alias largest='du --max-depth=1 2> /dev/null | sort -n -r | head -n20'
9
  • 2
    To view the largest few, you need the -r option on sort. Jun 22, 2011 at 13:23
  • 1
    I submitted @RedGrittyBrick suggestion and an error redirection to /dev/null as an edit subject to approval.
    – Jader Dias
    Jun 22, 2011 at 13:39
  • 2
    @jumpnett: it redirects standard error (in this case into the black hole that is /dev/null). Jun 6, 2013 at 21:46
  • 3
    You can use sort -h to sort values with human readable suffixes.
    – allo
    Nov 30, 2015 at 15:27
  • 1
    My modified version of this to display values in human readable format: du -h --max-depth=1 2> /dev/null | sort -h -r
    – Jose B
    Dec 13, 2015 at 22:29
11

I would like to recommend dutree, which offers a hierachical visualization.

You can select more or less levels of detail, and exclude paths for better control of visualization. You can also compare different paths.

enter image description here

It is implemented in Rust, fast and efficient.

$ dutree -h
Usage: dutree [options] <path> [<path>..]

Options:
    -d, --depth [DEPTH] show directories up to depth N (def 1)
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M)
    -s, --summary       equivalent to -da, or -d1 -a1M
    -u, --usage         report real disk usage instead of file size
    -b, --bytes         print sizes in bytes
    -f, --files-only    skip directories for a fast local overview
    -x, --exclude NAME  exclude matching files or directories
    -H, --no-hidden     exclude hidden files
    -A, --ascii         ASCII characters only, no colors
    -h, --help          show help
    -v, --version       print version number
3
4

You probably want xdu.

du -ax | xdu -n

There's also the more sophisticated KDE-based Filelight.

0
3

I usually use

du -hsc * | sort -h

What each option means for du:

  • h: show sizes in human readable format (1K, 1M, 1G, ...)
  • s: summarize: display only a total for each argument
  • c: also display a grand total

The -h option on sort makes it understand the -h format (human readable) on du. This option is relatively new on sort, so maybe your system does not support it and forces you to use du -sc | sort -n instead.

If you do it on a remote machine and the process takes a long time, you probably want to execute this process backgrounded or inside a screen or something similar to prevent a connection loss.

2
du -h 2> /dev/null | sort -hr | head -n20

du -h gives a human readable list estimate of disk space with a total
2> /dev/null suppresses any errors such as read access denied
sort -hr sorts the human readable file size in reverse order
head -n20 reduce the list to 20

Be aware that read access denied directories and files are excluded

0

To know which are the largest folders and the largest files in a glance, you can also use the command line tool 'Top Disk Usage' (tdu):

https://unix.stackexchange.com/questions/425615/how-to-get-top-immediate-sub-folders-of-folder-consuming-huge-disk-space-in/501089#501089

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .