How to analyse disk usage in command line linux?
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.
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'
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.
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