A curated list of command line apps.
Inspired by the awesome list thing.
Table of Contents
Entertainment
-
football-cli - Get live scores, fixtures, standings of almost every football competition/league.
-
pockyt - Read, Manage, and Automate your Pocket collection.
-
newsboat - An extendable RSS feed reader for text terminals.
Music
-
facebook-cli - Facebook command line interface.
-
Rainbowstream - A smart and nice Twitter client on the terminal.
-
tuir - Reddit TUI.
-
WeeChat - Fast, light and extensible chat client.
-
irssi - IRC chat client.
-
kirc - Tiny IRC client.
Video
-
youtube-dl - Download videos from YouTube.com and many other video sites.
-
streamlink - Extract streams from various websites to a video player of your choosing.
-
mps-youtube - Youtube player.
-
mpv - Superior video player.
-
editly - Declarative video editing.
-
yt-dlp - A
youtube-dl
fork with additional features and fixes.
Movies
-
moviemon - Everything about your movies.
-
movie - Get movie info or compare movies.
Games
Books
Development
-
legit - Generate Open Source licences as files or file headers.
-
mklicense - Create a custom LICENSE file painlessly with customized info.
-
rebound - Fetch Stack Overflow results on compiler error.
-
foy - Lightweight general purpose task runner/build tool.
-
just - Modern
make
-like command runner.
-
bcal - Byte CALculator for storage conversions and calculations.
-
bitwise - Base conversion and bit manipulation.
-
cgasm - x86 assembly documentation.
-
grex - Generate regular expressions from user-provided test cases.
-
gdb-dashboard - Modular visual interface for GDB.
-
iola - Socket client with REST API.
-
add-gitignore - Interactively generate a .gitignore for your project based on your needs.
-
is-up-cli - Check if a domain is up.
-
reachable - Check if a domain is up.
-
loadtest - Run load tests.
-
diff2html-cli - Create pretty HTML from diffs.
Text Editors
-
emacs - An extensible, customizable, free/libre text editor — and more.
-
vim - Vim - the ubiquitous text editor.
-
neovim - Modern vim.
-
kakoune - Modal editor inspired by vim.
-
micro - A simple and intuitive editor.
-
o - Configuration-free text editor and IDE.
-
helix - Modal editor inspired by kakoune.
Frontend Development
Mobile Development
Database
-
mycli - MySQL client with autocompletion and syntax highlighting.
-
pgcli - Postgres client with autocompletion and syntax highlighting.
-
sqlline - Shell for issuing SQL via JDBC.
-
iredis - Redis client with autocompletion and syntax highlighting.
-
usql - Universal SQL client with autocompletion and syntax highlighting.
Devops
-
htconvert - Convert .htaccess redirects to nginx.conf redirects.
-
SAWS - Supercharged AWS CLI.
-
s3cmd - Fully-Featured S3 client.
-
pm2 - Production Process Manager for Node.js.
-
ops - Unikernel compilation and orchestration tool.
-
flog - A fake log generator for log formats such as apache-common, apache error and RFC3164 syslog.
-
k9s - Manage Kubernetes Clusters.
-
PingMe - Send messages/alerts to multiple messaging platforms & email.
-
ipfs-deploy - Deploy static websites to IPFS .
-
Discharge - Deploy static websites to Amazon S3.
-
updatecli - A declarative dependency management tool.
Docker
-
lstags - Synchronize images across registries.
-
dockly - Interactively manage containers.
-
lazydocker - Simple docker/docker-compose interface.
-
docker-pushrm - Push a readme to container registries.
Release
-
release-it - Automate releases for Git repositories and/or npm packages. Changelog generation, GitHub/GitLab releases, etc.
-
clog - A conventional changelog for the rest of us.
-
np - A better
npm publish
.
-
release - Generate changelogs with a single command.
-
semantic-release - Fully automated version management and package publishing.
Npm
-
npm-name-cli - Check whether a package name is available on npm.
-
npm-user-cli - Get user info of a npm user.
-
npm-home - Open the npm page of the package in the current directory.
-
pkg-dir-cli - Find the root directory of a npm package.
-
npm-check-updates - Find newer versions of package dependencies than what your package.json allows.
-
updates - Flexible npm dependency update tool.
-
wipe-modules - Remove
node_modules
of inactive projects.
Boilerplate
-
yo - Scaffolding tool for running Yeoman generators.
-
boilr - Create projects from boilerplate templates.
-
cookiecutter - Create projects from templates.
-
mevn-cli - Light speed setup for MEVN (Mongo Express Vue Node) Apps.
-
scaffold-static - Scaffolding utility for vanilla JS.
HTTP Server
-
serve - Serve static files (https, CORS, GZIP compression, etc).
-
simplehttp - Easily serve a local directory over HTTP.
-
shell2http - Shell script based HTTP server.
HTTP Client
-
HTTPie - A user-friendly HTTP client.
-
HTTP Prompt - Interactive HTTP client featuring autocomplete and syntax highlighting.
-
ain - HTTP client with a simple format to organize API endpoints.
-
curlie - A curl frontend with the ease of use of HTTPie.
Productivity
-
doing - Keep track of what you’re doing and track what you’ve done.
-
ffscreencast - A ffmpeg screencast with video overlay and multi monitor support.
-
meetup-cli - Meetup.com client.
-
NeoMutt - Email client.
-
terjira - Jira client.
-
ipt - Pivotal Tracker client.
-
uber-cli - Uber client.
-
Buku - Browser-independent bookmark manager.
-
papis - Extensible document and bibliography manager.
-
pubs - Scientific bibliography manager.
-
fjira - Fuzzy finder and TUI application for Jira.
Time Tracking
-
Timetrap - Simple timetracker.
-
moro - Simple tool for tracking work hours.
-
Timewarrior - Utility with simple stopwatch, calendar-based backfill and flexible reporting.
-
Watson - Generate reports for clients and manage your time.
-
utt - Simple time tracking tool.
-
Bartib - Easy to use time tracking tool.
Note Taking and Lists
-
idea - A lightweight tool for keeping ideas in a safe place quick and easy.
-
geeknote - Evernote client.
-
Taskwarrior - Manage your TODO list.
-
Terminal velocity - A fast note-taking app.
-
eureka - Input and store your ideas.
-
sncli - Simplenote client.
-
td-cli - A TODO manager to organize and manage your TODO’s across multiple projects.
-
taskell - Interactive kanban board/task manager.
-
taskbook - Tasks, boards & notes for the command-line habitat.
-
dnote - A interactive, multi-device notebook.
-
nb - A note‑taking, bookmarking, archiving, and knowledge base application.
-
obs - Interact with your Obsidian vault.
Finance
See plaintextaccounting.org for a great overview of relevant tools.
-
ledger - Powerful, double-entry accounting system.
-
hledger - Robust, fast, intuitive plain text accounting tool with CLI, TUI and web interfaces.
-
moeda - Foreign exchange rates and currency conversion.
-
cash-cli - Convert Currency Rates.
-
cointop - Track cryptocurrencies.
-
ticker - Stock ticker.
Presentations
-
WOPR - A simple markup language for creating rich terminal reports, presentations and infographics.
-
decktape - PDF exporter for HTML presentations.
-
mdp - A markdown presentation tool.
-
sent - Simple plaintext presentation tool.
-
slides - A markdown presentation tool.
Calendars
-
calcurse - Calendar and scheduling.
-
gcalcli - Google calendar client.
-
khal - CalDAV ready CLI and TUI calendar.
-
vdirsyncer - CalDAV sync.
-
remind - A sophisticated calendar and alarm program.
-
birthday - Know when a friend’s birthday is coming.
Utilities
-
aria2 - HTTP, FTP, SFTP, BitTorrent and Metalink download utility.
-
bitly-client - Bitly client.
-
deadlink - Find dead links in files.
-
crawley - Unix-way web crawler.
-
kill-tabs - Kill all Chrome tabs.
-
alex - Catch insensitive, inconsiderate writing.
-
clevercli - Collection of ChatGPT powered utilities.
macOS
Terminal Sharing Utilities
-
gotty - Share your terminal as a web application.
-
localtunnel - Expose your localhost to the world for easy testing and sharing.
-
mosh - Remote SSH client that allows roaming with intermittent connectivity.
-
ngrok - Secure introspectable tunnels to localhost.
-
tmate - Instant terminal (tmux) sharing.
-
warp - Secure and simple terminal sharing.
-
OverTime - Time-overlap tables for remote teams.
Network Utilities
Theming and Customization
-
splash-cli - Beautiful wallpapers from Unsplash.
-
wallpaper-cli - Get or set the desktop wallpaper.
-
themer - Generate personalized themes for your editor, terminal, wallpaper, Slack, and more.
-
JackPaper - Set images from Unsplash as wallpaper.
-
pywal - Generate and change color-schemes, then apply them system-wide to all of your favourite programs.
-
QuickWall - Directly set wallpapers from Unsplash.
-
oh-my-posh - Prompt theme engine.
Shell Utilities
-
has - Checks for the presence of various commands and their versions on the path.
-
Ultimate Plumber - Write Linux pipes with live previews.
-
fkill-cli - Simple cross-platform process killer.
-
task-spooler - Queue jobs for linear execution.
-
undollar - Strip the ‘$’ preceding copy-pasted terminal commands.
-
pipe_exec - Run executables from stdin, pipes and ttys without creating a temporary file.
System Interaction Utilities
Markdown
-
DocToc - Generates table of contents for markdown files.
-
grip - Preview markdown files as GitHub would render them.
-
mdv - Styled terminal markdown viewer.
-
glow - Styled markdown rendering.
-
gtree - Use markdown to generate directory trees and the directories itself.
Security
-
pass - Password manager.
-
gopass - Fully-featured password manager.
-
xiringuito - SSH-based VPN.
-
hasha-cli - Get the hash of text or stdin.
-
ots - Share secrets with others via a one-time URL.
Math
-
mdlt - Do quick math right from the command line.
-
Qalculate - Calculate non-trival math expressions. Unit conversions, symbolic calculations and more.
Weather
Browser Replacement
-
s - Open a web search in your terminal.
-
hget - Render websites in plain text from your terminal.
-
mapscii - Terminal Map Viewer.
-
nasa-cli - Download NASA Picture of the Day.
-
getnews.tech - Fetch news headlines from various news outlets.
-
trino - Translation of words and phrases.
-
translate-shell - Google Translate interface.
Internet Speedtest
-
speedtest-net - Test internet connection speed and ping using speedtest.net.
-
speed-test -
speedtest-net
wrapper with different UI.
-
speedtest-cli - Test internet bandwidth using speedtest.net.
-
bandwhich - Track bandwidth utilization by process.
Command Line Learning
-
cmdchallenge - Presents small shell challenge with user submitted solutions.
-
explainshell - Type a snippet to see the help text for each argument.
-
howdoi - Instant coding answers.
-
how2 - Node.js implementation of howdoi.
-
The Fuck - Magnificent app which corrects your previous console command.
-
tldr - Simplified and community-driven man pages.
-
Wat - Instant, central, community-built docs.
-
teachcode - Guide for the earliest lessons of coding.
-
navi - Interactive cheatsheet tool.
-
yai - AI powered terminal assistant.
Data Manipulation
-
visidata - Spreadsheet multitool for data discovery and arrangement.
Processors
-
jq - JSON processor.
-
yq - YAML processor.
-
dasel - JSON/YAML/TOML/XML processor (like jq/yq).
-
yaml-cli - Query/update YAML.
-
ramda-cli - Process data with functional pipelines.
-
xq - XML and HTML beautifier and content extractor.
JSON
-
jp - JSON parser.
-
fx - Command-line JSON viewer.
-
vj - Makes JSON human readable.
-
underscore-cli - Utility-belt for hacking JSON and Javascript.
-
strip-json-comments-cli - Strip comments from JSON.
-
GROQ – JSON processor with queries and projections.
-
gron - Make JSON greppable.
YAML
-
dyff - YAML diff tool.
Columns
-
parse-columns-cli - Parse text columns to JSON.
-
q - Execution of SQL-like queries on CSV/TSV/tabular text file.
Text
-
figlet - Creates large text out of ASCII characters.
-
stegcloak - Hide secrets with invisible characters in plain text securely.
Files and Directories
File Managers
-
ranger - A console file manager with VI key bindings.
-
midnight-commander - A feature rich visual file manager.
-
Vifm - VI influnced file manager.
-
nnn - File browser and disk usage analyzer with excellent desktop integration.
-
lf - Fast, extensively customizable file manager.
-
fff - Fast, simple file manager.
-
clifm - The command line file manager.
-
far2l - Orthodox file manager.
Deleting, Copying, and Renaming
Files
-
chokidar-cli - CLI to watch file system changes.
-
file-type-cli - Detect the file type of a file or stdin.
-
bat - A cat clone with syntax highlighting.
-
NCDu - A disk usage analyzer with an ncurses interface.
-
unix-permissions - Swiss Army knife for Unix permissions.
-
transmission-cli - Torrent client for your command line.
-
webtorrent-cli – Streaming torrent client.
-
entr - Run an arbitrary command when files change.
-
organize-cli - Organize your files automatically.
-
organize-rt - organize-cli in Rust with more customization.
-
RecoverPy - Recover overwritten or deleted files.
File Sync/Sharing
-
rclone - Sync files with various cloud providers.
-
ffsend - Quick file share.
-
share-cli - Share files with your local network.
-
google-drive-upload - Upload/sync with Google Drive.
-
gdrive-downloader - Download files/folders from Google Drive.
-
portal - Send files between computers.
-
shbin - Turn a Github repo into a pastebin.
-
sharing - Send and receive files on your mobile device.
-
ncp - Transfer files and folders, to and from NFS servers.
Directory Listing
-
alder - Minimal
tree
with colors.
-
eza - Improved version of
ls
.
-
tre -
tree
with git awareness, editor aliasing, and more.
-
ll -
ls
with git status.
-
lsd -
ls
with many extra features.
Directory Navigation
-
autojump - A cd command that learns - easily navigate directories from the command line.
-
pm - The easy way to switch to your projects on the shell.
-
z - z is the new j, yo.
-
PathPicker - After parsing the output from a command, PathPicker presents you with a nice UI to select which files you’re interested in.
-
fz - Seamless fuzzy tab completion for z.
-
goto - Directory aliases for the shell with autocomplete.
-
z.lua -
cd
command that learns your habits.
-
zoxide - Fast directory jumper in Rust.
-
tere - A faster alternative to using cd and ls.
Search
-
happyfinder - (another) Fuzzy file finder for the command line.
-
find-up-cli - Find a file by walking up parent directories.
-
ripgrep - A line-oriented search tool that recursively searches your current directory for a regex pattern.
-
fzf - A general purpose command-line fuzzy finder, can be used with any list: files/directories, command history, processes, hostnames, bookmarks, git commits, etc.
-
fselect - Find files with SQL-like queries.
-
fd - A simple, fast and user-friendly alternative to
find
.
-
broot - Fuzzy finder similar to fzf, but with space usage visualization.
-
rare - Real-time regex aggregation and analysis.
-
skim - A general fuzzy finder written in rust, similar to fzf.
-
ast-grep - A tool for code structrual search, linting and rewriting.
Version Control
-
SnowFS - A fast, scalable version control system for binaries.
Git
GitHub
Emoji
Images
Gif Creation
-
gifgen - Simple high quality GIF encoding.
-
gifsicle - Create, manipulate, and optimize GIF images and animations.
-
ttygif - Convert terminal recordings to animated gifs.
-
ttygif - ttyrec to gif.
-
ttystudio - A terminal-to-gif recorder minus the headaches.
-
asciinema - Terminal session recorder and companion app for asciinema.org.
-
givegif - GIFs on the command line.
Image Conversion
-
imagemagick - Gold standard for anything images.
-
imgp - Blazing fast batch image resizer and rotator.
-
korkut - Quick and simple image processing.
Screensavers
Graphics
Just for Fun
-
quote-cli - Get a random quote or the quote of the day in your CLI.
-
fortune - Shows a random fortune.
-
ponysay - Pony rewrite of cowsay.
-
yosay - Like cowsay, but for yeoman.
-
lolcat - Outputs text in rainbow colors.
-
text-meme - Generate text memes.
-
dankcli - Add text to meme image templates.
-
ricksay - Quotes from Rick and Morty.
Emoji
-
emoj - Find relevant emoji from text on the command-line.
-
emoji-finder - Quickly find and copy emoji to the clipboard via the command-line.
-
oji - Interactive text emoji maker.
Other Awesome Lists
License
To the extent possible under law, Adam Garrett-Harris has waived all copyright and related or neighboring rights to this work.