Although the standard Linux utilities have served us well over the years, in some scenarios they fall short. If you’ve ever found yourself writing a one-liner to poll a command or struggling to parse a badly formatted table, then it’s a clear sign that the tools at hand are lacking. What you need are better tools; what I have are better tools—five that will make your Linux life easier.

1NCurses Disk Usage (ncdu)

To view the sizes of directories, du is a solid choice, and it’s generally the first pick for most people. However, it lacks exploratory capabilities. A few times a year, my system complains to me that it’s running low on disk space, and I find myself exploring the file system to manually delete large directories of accumulated garbage. This is where du lacks, and where ncdu shines.

With its simple interface,ncdu provides blazing-fast exploration to size up directories.

A btop window is open with processes filtered for “zsh”.

Those familiar with Vim will feel at home because it uses Vim keys for navigation; those who prefer the arrow keys won’t find themselves cursing Vim. Just like terminal-based file managers, you can drill down into directories effortlessly. For each directory, ncdu will display the directory sizes. It’s a simple utility that does one thing and does it well.

Ncdu may be found in the majority of official distribution repositories.

A terminal screen with btop open. The visible screen is the options menu, and the “vim” keys option is selected.

To install it on Debian and its derivatives, e.g., Ubuntu, Linux Mint, etc.:

To install it on Red Hat and its derivatives, e.g., Fedora:

A terminal screen is open, and it displays the bandwhich utility. It shows a number of active connections and their details.

To install it on Arch and its derivatives:

2Btop++

Because it provides a broad overview of my entire system, Btop is easily one of my favorite utilities. It displays bars and charts for CPU, disk, memory, and network utilization. Additionally, the “processes” pane has a top-like interface that allows you to filter and kill individual processes.

To filter processes, press the F key, and to kill the highlighted process, press K.

A terminal screen is open, and it displays the bandwhich utility. On the screen are the details for a number of active, cumulative connections.

One of the best things about the Btop interface is how simple it is to adapt it to your needs. Presets are included with Btop, and you can cycle through them by just pressing P. A distinct set of panes is displayed for each preset.

In addition to that, you can enable or disable any pane by pressing a single key. Btop makes it simple to quickly changeviewsover your system’s resources.

A terminal window is open, and it displays the mtr utility in action. The screen displays a dozen or more active probes.

The fun does not stop there, because there are (again) Vim keys for those who feel lost without them.

Btop is a significant upgrade over the standard top utility.

It’s available via most native distribution repositories. For some, it’s available in the respectiveextrarepositories. For everyone else, you caninstall it via Brewor Snap.

3Bandwhich

Bandwhich is a real-time network monitor that displays live network connections. It differs from netstat because it focuses on active connections in real time. It differs from tcpdump because it’s not an endless stream of packets.

Conveniently, bandwhich offers two simple features to help you capture and view connections. Firstly, you can press Space to pause capture at any moment to obtain a snapshot of connections. Secondly, you can run it in cumulative mode, which progressively adds processes and bandwidth stats to the list without removing them—similar to a log.

A terminal screen is open, and it displays the help menu for the mtr utility.

I prefer Bandwhich over other tools, like tcpdump, because it’s straightforward and convenient, making it possible to quickly identify which processes are contacting the network.

It’s available via the Arch, Nix, Void, and Fedora (Copr) repositories; for everyone else,you can install it via Snap, Cargo, or directly via GitHub releases.

A terminal screen is open, and it displays the bmon utility. On the screen are graphs that indicate network activity.

To install it on Debian and its derivatives (e.g., Ubuntu or Mint):

To install it on Red Hat and its derivatives (e.g., Fedora):

A terminal screen is open, and it displays the bmon utility. On the screen are graphs that indicate network activity and some additional network statistics.

The Fedora packages are promptly updated. The packages for other RHEL distributions lag behind, and you may find that your distribution release is not yet supported.

If you’re having problems installing it and you have a Rust environment set up, you can fall back to cargo:

A terminal screen is open, and it displays the bmon utility as formatted textual output.

4My Traceroute (mtr)

The MTR command is like a live version of tracepath. Tracepath will ping each network hop sequentially a fixed number of times; MTR will ping every network hop concurrently until stopped. It displays real-time statistics for packet loss, jitter, and latency in a live curses interface.

Routers often deprioritize ICMP packets, so it’s common to see high packet loss for some hops. Also note that these hops are more likely to throttle ICMP if you’re connecting via a VPN, but it does not mean that you have a connection issue; it just means that you have an ICMP issue. Switching to TCP (-T) or UDP (-u) rarely helps in these cases.

MTR also facilitates reporting. Use the “-w” flag to generate a “wide” report, wide enough to fit host names. Alternatively, use “-j” to output JSON. Set the number of probes with the “-c” flag.

The available options are plenty, but a picture is worth a thousand words.

MTR has been around for decades, and it’s available in every distribution repository.

5Bandwidth Monitor (bmon)

Bmon is a deceptively simple utility to monitor live bandwidth usage. While it does not show host information like the other tools, its sole focus is on bandwidth.

You can see all of your interfaces with ifconfig.

It’s true that Btop++ also provides real-time bandwidth visualizations, but bmon provides some additional network statistics. With bmon open, press D or i, and it will open additional panes with extra context.

One of bmon’s best features is that it’s scriptable. Specific output fields can be defined, formatted, and then processed further using other tools or scripts.

To see the formatting rules, use the following command:

Bmon has been around for a while, and it’s available in most official distribution repositories.

These tools cannot replace their standard GNU/Linux counterparts; they only address specific gaps. A lot of the standard utilities do not have live, real-time monitoring capabilities, and often we just want to see how our systems change over time. For example:

Although the listed tools address very specific needs, they do not address all needs—for that, you will need to keep digging.