Command line tools might seem nerdy but they are often faster and more resource efficient than ‘full fat’ GUI alternatives.
1. btop++ (System Monitor)
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.
2. musikcube (Music Player)
A veritable chorus of command line music players exist that let you play music from the terminal, with
moc among the best known and most feted.
Me? I like using
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!
3. googler (Search the Web)
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?
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
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.
Once installed, run
googler and enter a search term when prompted.
4. rainbowstream (CLI Twitter App)
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
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)
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
6. wttr (Weather Forecast)
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
To fetch a forecast open a terminal and run the following, replacing ‘City’ with a location:
The app can “autodetect” your location based on your IP address but this won’t be as accurate as specifying a city by hand.
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)
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)
You likely know how to zip around your filesystem from the CLI using the
cd command, and
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
? at any time to get a shortcut cheatsheet.
10. mapscii (Maps)
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
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:
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.