System Administration

Essential System Tools: dust – more intuitive version of du

Last Updated on May 28, 2022

Summary

Whatever the size of the hard disk, our disks always fill up over time; it seems data expands to fill any void. This is partly because we experiment with lots of distributions and software. But hard disks do seem to fill up by themselves.

If you spend a lot of time on the Linux command line, you’ll have used the du command, as it returns information about disk usage with the minimum of fuss and bother. It’s a very useful tool combined with other command-line utilities such as grep and sort. But if you want a more visual experience from the command-line, we recommend dust.

There are quite a few other command-line utilities that offer a replacement for du. On balance, we consider dust to be the best of them.

If you prefer a GUI tool, we recommend QDirStat. Read our detailed review of QDirStat.

Website: github.com/bootandy/dust
Support:
Developer: Andy Boot and contributors
License: Apache License 2.0

dust is written in Rust. Learn Rust with our recommended free books and free tutorials.

Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Summary


All the essential tools in this series:

Essential System Tools
AlacrittyInnovative, hardware-accelerated terminal emulator
BleachBitSystem cleaning software. Quick and easy way to service your computer
bottomGraphical process/system monitor for the terminal
btop++Monitor usage and stats for CPU, memory, disks, network and processes
catfishVersatile file searching software
ClonezillaPartition and disk cloning software
CPU-XSystem profiler with both a GUI and text-based
CzkawkaFind duplicate files, big files, empty files, similar images, and much more
ddrescueData recovery tool, retrieving data from failing drives as safely as possible
dustMore intuitive version of du written in Rust
f3Detect and fix counterfeit flash storage
Fail2banBan hosts that cause multiple authentication errors
fdupesFind or delete duplicate files
FirejailRestrict the running environment of untrusted applications
GlancesCross-platform system monitoring tool written in Python
GPartedResize, copy, and move partitions without data
GreenWithEnvyNVIDIA graphics card utility
gtopSystem monitoring dashboard
gWakeOnLANTurn machines on through Wake On LAN
hyperfineCommand-line benchmarking tool
HyFetchSystem information tool written in Python
inxiCommand-line system information tool that's a time-saver for everyone
journalctlQuery and display messages from the journal
kmonManage Linux kernel modules with this text-based tool
KrusaderAdvanced, twin-panel (commander-style) file manager
NmapNetwork security tool that builds a "map" of the network
nmonSystems administrator, tuner, and benchmark tool
nnnPortable terminal file manager that's amazingly frugal
petSimple command-line snippet manager
PingnooGraphical representation for traceroute and ping output
ps_memAccurate reporting of software's memory consumption
SMCMulti-featured system monitor written in Python
TimeshiftReliable system restore tool
QDirStatQt-based directory statistics
QJournalctlGraphical User Interface for systemd’s journalctl
TLPMust-have tool for anyone running Linux on a notebook
UnisonConsole and graphical file synchronization software
VeraCryptStrong disk encryption software
VentoyCreate bootable USB drive for ISO, WIM, IMG, VHD(x), EFI files
WTFPersonal information dashboard for your terminal
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Please read our Comment FAQ before posting a comment.

4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Ovoidster
Ovoidster
3 years ago

dust needs a man page.

Arjun
Arjun
3 years ago
Reply to  Ovoidster

Definitely, too many open source projects lack even basic documentation. I’ve helped out on a few projects but there’s often no volunteer to write docs. Not sexy as writing code so gets put last on occasions.

Ange
Ange
3 years ago

You forgot to mention there’s a snap available.

Paella
Paella
9 months ago

Hi!

Change this part:

export PATH=$PATH:/home/user_name/.cargo/bin

to:

export PATH=$PATH:/home/$USER/cargo/bin

This way isn’t necessary to user intervention to mistake writing his user. 🙂