Command-line tools may seem nerdy, but they’re often faster and more resource-efficient than full-fledged GUI alternatives.

Prefer a GUI?
The Best Apps for Ubuntu & Linux Mint

Plus, as you’re about to discover, they can be way 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 terminal emulator.

In this post, I’ll run through 10 of the best terminal apps. These tools aren’t the only ones available for their respective tasks, but they’re easy to use and install on Ubuntu.

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

10 Best Linux 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!

You can monitor your computer’s resource usage in style on Ubuntu using btop++, which I consider the best system monitor CLI app, period.

Btop++ displays a wealth of information about your system’s resources, including memory, CPU, swap file, processor load, system uptime, and process data.

I love htop as much as the next person, but btop++ puts 10-times the data on screen, presented through a well-designed, well-proportioned, and well-stocked resource dashboard that’s easy to parse and understand.

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. These can be installed from a PPA should you prefer to get software updates from a traditional source.

2. musikcube (Music Player)

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

Musikcube is a command-line music player with a user interface inspired by fully-featured desktop music players, but without the unnecessary distractions.

I can zip through my music library, filter by artist, album, genres, or playlist, and compile a playlist/queue to suit my mood without having to take my hand off of my keyboard.

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 or you can press the ? key to reveal a cheat-sheet.

You can interact with Musikcube’s UI using a mouse, the latest version of the app work flawless with PipeWire; and the app is able to scrobble to last.fm, if that’s a feature you look for.

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 for 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 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

A fast way to find out which files/folders take up the most disk space on Ubuntu is to install the NCurses Disk Usage, or ncdu as it’s better known. This command-line tool is super-charged version of the regular du app, but uses a curses-based, interactive user interface.

Ncdu does most of what your distro’s built-in storage tools can do, but faster — a lot faster.

Plus, the way it presents size and structure is very efficient. Navigate ncdu using your keyboard’s arrow keys, hit enter to enter a folder, and tap d to delete a file (don’t worry about accidentally deleting things as ncdu asks you to confirm).

sudo apt install ncdu

When you run ncdu it takes a couple of seconds to analyse your disk. Then a list of the directories or files appear 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, explore, and look up places you know.

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!