Credit: Dell The ncdu command provides a useful and convenient way to view disk usage. The name stands for “NCurses disk usage”. This means that it’s based on ncurses which, like curses, is a terminal control library used on Unix/Linux systems. The curses part of each name is a pun on “cursor” or “cursor optimization” and is unrelated to the use of foul language. You can think of ncdu as a disk usage analyzer with an ncurses interface. It can be especially useful when looking for disk-space hogs on a remote server for which you don’t have access to a graphical interface. To use ncdu, you can just type “ncdu”, but what you will see depends on where you have positioned yourself in the file system as it reports the space used by files and directories in that location. $ ncdu ncdu 1.14.1 ~ Use the arrow keys to navigate, press ? for help --- /home/shs ------------------------------------------------------------------ 1.2 GiB [##########] /.cache 242.9 MiB [## ] /Downloads 204.5 MiB [# ] /Desktop 130.4 MiB [# ] XPS 8900-desktop_service-manual.pdf 77.0 MiB [ ] /.mozilla 22.3 MiB [ ] LinuxWords.pdf 12.6 MiB [ ] /myfonts 7.2 MiB [ ] XPS 8900 Desktop Specs.pdf 6.2 MiB [ ] /Documents 4.3 MiB [ ] /.config 3.8 MiB [ ] typescript 3.3 MiB [ ] /bin 2.0 MiB [ ] /Pictures 1.8 MiB [ ] /.local 824.0 KiB [ ] /.GlobalProtect 356.0 KiB [ ] LinuxWorks-2.pdf 332.0 KiB [ ] pavers.png 196.0 KiB [ ] /YardSale 120.0 KiB [ ] paver.jpg 112.0 KiB [ ] /.cinnamon 32.0 KiB [ ] /IDG You can use your up and down arrow keys to move through the displayed files and directories. In fact, if you press the enter key on a listed directory, you’ll move into that directory and be able to view its contents. Then tap on the left arrow key to return to the prior directory. Notice that the files and directories are listed in size order with the largest shown first. In the output above, the .cache file is the largest at 1.2GB. To exit, simply press q. It takes a while for the tool to provide data, especially if you ask it to look at large directories. If you begin at the root directory, for example, the tool will have many more files to examine. When you first start ncdu, you will see something like the following as it runs through the contents of the current directory and looks at each file. lqqqScanning...qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x x x Total items: 148091 size: 6.7 GiB x x Current item: /ubuntu/usr/src/linux-hea...-18/fs/notify/dnotify/Kconfig x x x x Warning: error scanning /ubuntu/etc/sssd x x some directory sizes may not be correct x x x x ... Press q to abort x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj After a while, it will return your report. 7.1 GiB [###### ] /usr . 1.9 GiB [# ] /home 1.5 GiB [# ] /media . 1.0 GiB [ ] /var . 405.8 MiB [ ] /boot 28.3 MiB [ ] /opt . 16.7 MiB [ ] /etc . 3.3 MiB [ ] /tmp . 1.6 MiB [ ] /run 16.0 KiB [ ] /dev ! 16.0 KiB [ ] /lost+found A help page is available for ncdu as well as a man page. shs@firefly:/$ ncdu --help ncdu -h,--help This help message -q Quiet mode, refresh interval 2 seconds -v,-V,--version Print version -x Same filesystem -e Enable extended information -r Read only -o FILE Export scanned directory to FILE -f FILE Import scanned directory from FILE -0,-1,-2 UI to use when scanning (0=none,2=full ncurses) --si Use base 10 (SI) prefixes instead of base 2 --exclude PATTERN Exclude files that match PATTERN -X, --exclude-from FILE Exclude files that match any pattern in FILE -L, --follow-symlinks Follow symbolic links (excluding directories) --exclude-caches Exclude directories containing CACHEDIR.TAG --confirm-quit Confirm quitting ncdu --color SCHEME Set color scheme Note that the -o option doesn’t prepare a report. Instead, it saves all of the that it collects on each file. For example, you might run a command like this: $ ncdu -o /tmp/dureport When it’s done, your output file will look like this: $ head -11 /tmp/dureport [1,1,{"progname":"ncdu","progver":"1.14.1","timestamp":1639414007}, [{"name":"/home/shs","asize":4096,"dsize":4096,"dev":2067,"ino":39845890}, [{"name":"Pictures","asize":4096,"dsize":4096,"ino":39845933}, {"name":"shs@192.168.0.11","asize":412675,"dsize":413696,"ino":39849638}, {"name":"Screenshot from 2021-07-07 10-19 43.png","asize":80972,"dsize":81920,"ino":39851217}, {"name":"MintDesktop2.png","asize":333930,"dsize":335872,"ino":39849646}, {"name":"Screenshot from 2021-05-12 15-31-40.png","asize":304458,"dsize":307200,"ino":39845894}, {"name":"MintDesktop.png","asize":412675,"dsize":413696,"ino":39846106}, {"name":"Screenshot from 2021-07-07 10-16-54.png","asize":254307,"dsize":258048,"ino":39851211}, {"name":"font-manager.png","asize":253149,"dsize":253952,"ino":39847669}], [{"name":".cache","asize":4096,"dsize":4096,"ino":39845908}, While the output of the ncdu command shows you how used disk space is occupied and what files are using the most disk space, it won’t tell you how much space remains available. Balance its output with the df -h command to put disk usage data back into perspective. $ df -h Filesystem Size Used Avail Use% Mounted on udev 1.7G 0 1.7G 0% /dev tmpfs 340M 1.7M 339M 1% /run /dev/sdb3 903G 19G 838G 3% / tmpfs 1.7G 16K 1.7G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup /dev/sdb1 511M 5.3M 506M 2% /boot/efi /dev/sdb2 930G 12G 871G 2% /ubuntu tmpfs 340M 24K 340M 1% /run/user/100 Wrap-Up The ncdu command works quickly and provides useful data on disk-space usage. If your file system is filling up, it’s very helpful in determining how that disk space is being used. Related content how-to How to examine files on Linux Linux provides very useful options for viewing file attributes, such as owners and permissions, as well as file content. By Sandra Henry Stocker Oct 24, 2024 6 mins Linux how-to 8 easy ways to reuse commands on Linux Typing the same command again and again can become tiresome. Here are a number of ways you can make repeating commands – or repeating commands but with some changes – a lot easier than you might expect. By Sandra Henry-Stocker Oct 15, 2024 5 mins Linux news SUSE Edge upgrade targets Kubernetes and Linux at the edge SUSE Edge 3.1 includes a new stack validation framework and an image builder tool that are aimed at improving the scalability and manageability of complex Kubernetes and Linux edge-computing deployments. By Sean Michael Kerner Oct 15, 2024 6 mins Edge Computing Linux Network Management Software how-to Lesser-known xargs command is a versatile time saver Boost your Linux command line options and simplify your work with xargs, a handy tool for a number of data manipulation tasks. By Sandra Henry Stocker Oct 11, 2024 6 mins Linux PODCASTS VIDEOS RESOURCES EVENTS NEWSLETTERS Newsletter Promo Module Test Description for newsletter promo module. Please enter a valid email address Subscribe