Command line tools might seem nerdy but they are often faster and more resource efficient than ‘full fat’ GUI alternatives.

Prefer a GUI?
Best Apps for Ubuntu & Linux Mint (2021)

Plus — as you’re about to discover — they can be a lot more fun to use too.

Whether you want to search the web, stream music, or subtweet your secret crush: you can do it all from the comfort of your chosen command line client.

In this post I run-through 10 of my favourite terminal apps. These command line tools are not the only ones available for their respective task, but they are all a) easy to use, and b) easy to install.

So scroll on to soak in a stellar assortment of the best Linux terminal apps out there — and don’t forget to name drop your own favourite down in the comments!

10 Command Line Tools

1. btop++ (System Monitor)

a screenshot of btop++ on ubuntu 21.10
System stats with style

Monitoring your computer’s resource usage is a bonafide geek past-time up there with memorising the periodic table, quoting Star Wars, and playing table-top role playing games — though maybe that’s describing me!

My go system monitor on Ubuntu is btop++. It’s an open source tool written in (surprise) C++ for speed. Not only is it fast, but it makes peeking at your system’s activities super informative thanks to its well-designed resource dashboard.

Don’t get me wrong; I love htop as much as the next person, but btop++ puts 10x the amount of info on screen without making the data hard to parse or overwhelming to look at.

You get big memory, CPU and swap file graphs that update in real time; processor load and system uptime info; a sortable list of real-time process data on CPU usage, memory consumption, and process priority; plus a ton of configuration options that let you fine-tune which stats show up and in what order.

You can install btop++ on Ubuntu as a Snap app like so:

sudo snap install btop

Depending on your language preference there are Python and Bash versions of this app available too, both can be installed from a PPA if you prefer getting your software updates in a more traditional manner.

2. musikcube (Music Player)

a screenshot of musikcube in the gnome terminal app on ubuntu 21.10
A fully-featured music player

A veritable chorus of command line music players exist that let you play music from the terminal, with cmus, mpd, and moc among the best known and most feted.

Me? I like using musikcube.

Musikcube has a UI that’s inspired by fully-feature desktop music players but, unlike those, it’s free of unnecessary distractions. I can zip through my whole library; filter by artist, album, genres, or playlist; and handcraft a play queue entirely suiting my mood without needing to take a single hand off of the keyboard.

Install the app, let it know which folder(s) your music is in, then get down to business. No getting distracted by album artwork, no getting sucked in to re-editing mismatched meta tags, and no multi-screen maze to get lost in. Just add, select, play, and rock on!

You can install musikcube on Ubuntu through the Snap Store with this command:

sudo snap install musikcube

Keyboard shortcuts are sign-posted throughout the app, but if you need help at any time just press the ? key. A few bits of additional info: you can also interact with Musikcube UI using a mouse; the latest version works with Pipewire; and it can scrobble to last.fm, if you’re one of the VERY COOL PEOPLE who still do that (hi 👋).

3. googler (Search the Web)

a screenshot of googler an app to search google from the command line
Proves handy in a pinch

Did you know it is possible to search the web from the command line? Oh, you did? Well, did you know that it’s also a pretty good experience too?

Using the googler CLI utility you can search Google from the command line (and if you’re not a fan of Sundar & co there’s an equally capable tool to search DuckDuckGo from the command line called ddgr too).

Why might searching the web from the command line be useful? Perhaps you’re in a tty cos your system has gone wonky and need to find a fix. You could pull out your phone and search, or you could use a command line search engine tool like googler, right where you are.

Ditch any preconceptions you may have about poor formatting or hard-to-read results because as terminal search engine tools go both of these options are well designed and packed with features. They let you filter by keyword, limit search range, search specific sites only, open links in your GUI browser, and a whole lot more.

Give it a try!

sudo apt install googler

Once installed, run googler and enter a search term when prompted.

4. rainbowstream (CLI Twitter App)

a screenshot of rainbowstream twitter  terminal client on ubuntu desktop
Tweets ahoy!

Here’s a question: is a fast-paced social network like Twitter usable at the command line?

Weirdly, the answer is yes!

Having started started life as a text messaging service, Twitter’s predominately text-centric updates are actually well suited to being parsed through the porthole of a CLI — a feat the terrific Rainbowstream Twitter client ably proves.

Rainbowstream‘s layout is clear, parsable, and well proportioned (even for pointer-preferring dweebs like me). Most of Twitter’s core features are supported in this app (though image previews come disabled by default) meaning you can read tweets, send tweets, like tweets, retweet tweets, read threads, search, and a whole lot more.

Limitations in the Twitter API mean the app is limited to polling for status updates (so the first time you run the app you have to wait for content to appear). That said, I don’t find it a major drawback as Twitter is highly ephemeral and ‘of the moment’ anyway.

The best way to install Rainbowstream is via pip, so you’ll need to set that up first:

sudo apt install python3-pip

Install Rainbowstream:

sudo pip3 install rainbowstream

When installed, run rainbowstream to get started. The app guides you through the process of linking a Twitter account the first time you run it.

As Rainbowstream is an interactive client you can enter commands at any time. For example, type t followed by a message to tweet something. Press h to see a help screen with more shortcuts, and be sure to use tab key to autocomplete the various commands and save time.

5. neofetch (System Info)

a screenshot of neofetch on ubuntu 21.10
Neofetch is cool and informative

I never tire of recommending the Neofetch system info tool because it is so frickin’ good at what it does.

A single command is all it takes to see a wealth of info about your Linux setup, from which distro you use to which kernel version you’re on, plus your desktop environment, window manager, theme, icon set, and a whole to more.

Did I mention it shows big, colourful ASCII distro art too?

Neofetch is slick, stylish and above all else super useful. You can install in on Ubuntu direct from the repos:

sudo apt install neofetch

Using Ubuntu on WSL? You’ll find a tool similar to Neofetch preinstalled. Just open a terminal and run the wslfetch command.

6. wttr (Weather Forecast)

a screenshot of wtrr.in command line weather app on ubuntu 21.10
Fetch the forecast from the CLI

Rather like rainy days in the UK, desktop Linux weather apps are pretty common. There are all manner of widgets, panel applets, GUI clients, and status bar add-ons able to relay current meteorological conditions.

But you can also check the weather from the command line. Some tools are basic but others, like the one below, show you a multi-day forecast for any location you specify. This is handy for when you want to know more than what the weather is doing right now (that’s what windows are form right?).

My favourite is wttr.in. It’s not the most detailed CLI weather tool but it looks good, doesn’t require any complex set-up (e.g., API keys), and it’s memorable — you don’t even need to install it if you have curl around.

To fetch a forecast open a terminal and run the following, replacing ‘City’ with a location:

curl wttr.in/City

The app can “autodetect” your location based on your IP address but this won’t be as accurate as specifying a city by hand.

7. ncspot

a screenshot of the command line spotify player for linux ncspot
It’s basic, but brilliant

I mainly listen to music streaming services these days, so dedicated music players like Musikcube (number 2 in this list) aren’t required. My music streaming service of choice is Spotify. You probably already know how to install Spotify on Ubuntu before, but did you know you can stream Spotify music from the command line too?

Yup, all you need a Spotify Premium account and the handy little ncspot CLI Spotify app that wraps around the librespot library (which can be used on its own, itself).

While the app is a little barebones compared to other CLI music players there is a beauty in its simplicity. Rather than serve solely as a frontend for just finding music ncspot is built around the idea of curating playlists/play queues from your favourite artists and albums.

To get the app installed on Ubuntu just run:

sudo snap install ncspot

The first time you run the client it’ll prompt you to login with your credentials. Press ? at any time to see an overview of keyboard shortcuts and available options.

8. ncdu (Disk Analyser)

a screenshot of ncdu in the gnome terminal app on ubuntu
Zero in on the space hogs

For a practical and speedy way to find out which files and folders are taking up the most disk space on your system, turn to NCurses Disk Usage, or ncdu as it’s better known. It’s a super-charged version of the regular du tool that uses a curses-based, fully interactive user interface.

While ncdu does most of what your distro’s built-in storage tools can do it’s faster — a lot faster — and the way it presents size and structure is very efficient. You can navigate using arrow keys, hit enter to boop in and out of folders, and tap d to delete — but don’t worry, it’ll double check you’re sure!

sudo apt install ncdu

When you run ncdu it’ll take a few moments to analyse your disk. Then it displays a list of the directories or files ranked by size, from largest directory to smallest.

9. nnn (File Manager)

a screenshot of the nnn file manager on ubuntu 21.10
Fly through your files and folders

You likely know how to zip around your filesystem from the CLI using the cd command, and ls , cp, mv etc to manage files. The nnn file manager can do all of that too, and a whole lot more — all from the one interface.

The chief benefit of using nnn is that it’s super-light on resources, fast, and makes it easy to navigate using a couple of keys (rather than typing commands).

sudo apt install nnn

Press the ? at any time to get a shortcut cheatsheet.

10. mapscii (Maps)

a gif of mapscii terminal map app
Mapscii offers incredible detail

I’m going to end this list with a CLI tool that demonstrates the sheer ingenuity that terminal-based utilities often exhibit, and the pure-JavaScript mapscii is just the ticket.

Is being able to view and navigate maps in a terminal hugely practical? No. But using mapscii is like using Google Earth for the first time: you can’t help but want to dive in and explore.

You can navigate maps in Mapscii using keyboard arrow keys (or by using your mouse to click and drag the map) and zoom in or out using the a and z keys or your mouse scroll wheel.

What’s impressive is just just how detailed most of the maps are. You can zoom in to see buildings, streets, and other information in incredible detail. While I don’t think you’d want to plot a route somewhere unfamiliar using Mapscii, there’s no denying that its got a unique charm of its own.

You can install Mapscii from the Snap Store, but you can try it without installing it by running:

telnet mapscii.me

While there doesn’t appear to be a way to specific a start location the whole map is super responsive so getting where you need isn’t a problem.

Summary

So that’s my list of the top terminal apps I like using on my Ubuntu, Fedora, and other Linux installs.

You may have noticed that well-known CLI tools like vim, emacs, wget, grep, cal, top didn’t feature. There was a reason; while those CLI apps are terrific you know about them already. Rather than remind you of things you’re familiar with, I opted to showcase lesser known, but no-less impressive, CLI tools instead.

This list isn’t set in stone, though. If there’s a terminal app or CLI utility you think should be included on this list that isn’t, you can let me know about it down below. And who knows: I might love it enough to revise and include it!

List cli command line terminal apps