Last update: 2025/11/22
Shells
- bash: Basic, but more feature rich than sh. Saves command history, hit the up key to scroll through it. The default shell on most Linux distros.
- fish: A beginner friendly shell with autocomplete. I prefer zsh these days, but if you're not used to using the terminal, I highly recommend it over Bash. It's great.
- sh: The Bourne shell. Usually the default on non-Linux *nix systems. Basic.
- zsh: Has a ton of extensions.
Command Line
- astroterm: Space!
- imagemagick: Comes with a whole set of different tools for image manipulation. Handy if you want to batch convert or resize image files.
- gdown: Ever wonder what it would be like if downloading files from Google Drive just worked? Wonder no more.
- gifsicle: Various tools for working with GIF files. Can compress GIF files and assemble them from multiple images.
- maim: A more polished alternative to scrot. Support the dev and his games.
- offpunk: A browser that saves pages as you browse to read later for offline use. Everything is controlled by a prompt. Supports Gopher, the Web, and Gemini.
- pass: Password manager. Nice and simple.
- pngcrush: Reduces the filesizes of PNG files.
- python: Doubles as a calculator. Just run it and math away.
- rsync: Handy for making backups.
- tmux: Divides a terminal into multiple parts.
- twtxt: A client for twtxt, which is similar to Twitter, but instead of accounts, you host a simple text file onto your site. And similar to RSS, in that people can use a client to follow people's twtxt files.
- ufw: Simple firewall. There's also a GUI for it.
- wget: Handy tool for downloading stuff.
- wireguard:
- xbindkeys: A tool for making hotkeys. It's better to just add hotkeys to your window manager, but if you can't be bothered this is the next best thing. I use this specifically to run a push-to-talk key on my PC.
- xdotool: Similar to xbindkeys, but for manipulating windows and simulating keyboard and mouse input. Useful for jank bash scripts.
- yt-dlp: For downloading YouTube videos. Works with many other sites including Nico Nico Douga, BiliBili, and various social media sites.
Terminal User Interface
- alsa-utils: For managing audio settings.
- bombadillo: A client for Gemini and Gopher, where you navigate by numbers and hjkl. Has optional support for HTTP(S) via lynx/elinks/w3m.
- epr: EPUB reader. Remembers where you last left off. Supports hjkl navigation. Also see epy, a fork with extra features.
- htop: Task manager.
- iamb: A modal Vi inspired Matrix client.
- irssi: IRC client. Use this script to filter the leave logs.
- lynx: Browser. Can enable hjkl navigation in the options.
- nano: A straight forward text editor. Use this if you're new to the terminal.
- neomutt: Email client. It's Mutt, but with some quality of life features added.
- profanity: XMPP client with the best encryption support.
- russ: RSS client with Vi inspired bindings. Saves every entry into a database and has no automanic fetching.
- sc: Spreadsheet editor with bindings similar to Vi. A nice intro to it.
- toot: Fediverse client. Can also be controlled with CLI commands, handy for automating posts using scripts.
- tut: Fediverse client but with Vi inspired keybindings.
- vi: Nice text editor. You'll want skim a guide or cheatsheet before running it.
- vim: Vi with extra features and plugin support. Ignore the jokes about it being complicated, you only need to know a few hotkeys for it to be more useful than a regular text editor.
- yazi: A very fast file explorer with file previews. I use this constantly.
More
- ArchWiki's list of applications: A goldmine of software on Linux. This and the next link are from the ArchWiki, but they apply to Linux in general.
- GNU/Linux core utilities: Terminal software that comes with all GNU/Linux systems.
- Motho ke motho ka botho: A blog with terminal software reviews. Not updated anymore. Has a good article on browsers.