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
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.
Movies
-
moviemon - Everything
about your movies.
-
movie - Get movie info
or compare movies.
Games
-
Dwarf Fortress -
Roguelike construction and management simulation.
-
Cataclysm-DDA - Turn-based
survival game set in a post-apocalyptic world.
Books
Development
-
bcal - Byte CALculator for
storage conversions and calculations.
-
cgasm - Gives x86 assembly
documentation.
-
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 in your terminal when you get a compiler error.
-
bitwise - Base
conversion and bit manipulator in ncurses.
-
foy - Lightweight general
purpose task runner/build tool.
-
just - Modern
make
-like command runner.
-
grex - Generate regular
expressions from user-provided test cases.
Text Editors
-
emacs - An
extensible, customizable, free/libre text editor — and more.
-
vim - Vim - the ubiquitous text
editor.
-
neovim - Vim fork focused
on extensibility and usability.
-
kakoune - Modal editor
inspired by vim.
-
micro - A simple and
intuitive editor.
Web Development
-
caniuse-cmd -
Search caniuse.com about browser support of
feature.
-
is-up-cli -
Check whether a website is up.
-
pageres-cli -
Capture website screenshots.
-
strip-css-comments-cli
- Strip comments from CSS.
-
viewport-list-cli
- Return a list of devices and their viewports.
-
surge - Deploy a directory to the web.
-
acmetool - An automatic
certificate acquisition tool for ACME (Let’s Encrypt).
-
loadtest - Runs
a load test on the selected URL. Easy to extend minimally for your own
ends.
-
wp-cli - Manage WordPress
installations, update plugins, set up multisite installs and much more.
-
diff2html-cli -
Parse git diffs as JSON and generate pretty HTML.
-
HTTPie - A user-friendly
HTTP client.
-
serve - Easy to use static
file server with features like https, CORS and GZIP compression.
-
add-gitignore -
Interactively generate a .gitignore for your project based on your
needs.
-
Discharge -
Deploy static websites to Amazon S3.
-
reachable - Check
if a domain is up.
-
simplehttp - Easily
serve a local directory over http.
-
shell2http - Execute
shell commands via HTTP server.
-
HTTP Prompt -
Interactive HTTP client featuring autocomplete and syntax highlighting.
-
ipfs-deploy -
Deploy static websites to
IPFS.
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.
-
isitfit - Manage
AWS EC2 rightsizing.
-
k9s - Manage Kubernetes
Clusters.
-
PingMe - Send
messages/alerts to multiple messaging platforms & email.
Docker
-
lstags - Synchronize
images across registries.
-
dockly - Interactively
manage containers.
-
lazydocker -
Simple docker/docker-compose interface.
-
docker-shell -
Simple interactive docker 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.
Productivity
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.
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.
Finance
-
ledger - Powerful, double-entry
accounting system on the terminal
-
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 command-line
based markdown presentation tool.
-
sent - Simple plaintext
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.
Utilities
-
archive-type-cli
- Detect archive type for a file or stdin.
-
s - Open a web search in your
terminal.
-
aria2 - HTTP, FTP,
SFTP, BitTorrent and Metalink download utility.
-
wego - Get the weather.
-
weather-cli -
Check the weather.
-
mapscii - Terminal
Map Viewer.
-
getnews.tech -
Fetch news headlines from various news outlets.
-
carbon-now-cli -
Generate beautiful images of your code.
-
pass - Password manager.
-
gopass - Fully-featured
password manager.
-
awesome-finder
- Search the awesome lists without a browser.
-
shallow-backup
- Git integrated backup tool.
-
ots - Share secrets
with others via a one-time URL.
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.
-
serveo - Expose local servers to the
internet using only a SSH client.
-
seashells.io - Pipe output to the
web.
-
teleconsole - Share your UNIX
terminal.
-
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.
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.
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.
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.
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.
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.
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
Directory Listing
-
alder - Minimal
tree
with colors.
-
exa - Improved version of
ls
.
-
tre -
tree
with
git awareness, editor aliasing, and more.
-
ll -
ls
with
git status.
Directory Navigation
-
autojump - A cd command
that learns - easily navigate directories from the command line.
-
fasd - Command-line
productivity booster, offers quick access to files and directories,
inspired by autojump, z and v.
-
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.
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.
Version Control
-
SnowFS - A fast,
scalable version control system for binaries.
Git
-
CLI GitHub -
:tv: A fancy GitHub client for command line.
-
Gistup - Create a gist
from terminal, then use git to update it.
-
git commander - A
git tool with a easy terminal interface.
-
git-stats -
:four_leaf_clover: A GitHub-like contributions calendar, but locally,
with all your git commits.
-
hub - A command-line wrapper
for git that makes you better at GitHub.
-
dev-time -
Get the current local time of a GitHub user.
-
git-labelmaker
- Edit GitHub labels from the command line.
-
tig - Text-mode interface for
Git.
-
grv - Text-mode interface
for Git with customisable vi bindings.
-
git-standup -
Recall what you did on the last working day.
-
git-secret - Store
your private data inside a git repository.
-
gitlab-cli
- gitlab cli for creating merge request from the command line.
-
git-extras - Little git
extras like git-ignore, git-setup, git-changelog, git-release,
git-effort and more.
-
gita - Manage multiple
git repos side by side for sanity.
-
readme-md-generator
- Generate README.md files interactively.
-
semantic-git-commit-cli
- Ensure semantic commits messages.
-
import-github-labels-cli
- Sync labels between Github repos.
-
git-all-branches
- Improved
git branch -a
.
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 the best companion of asciinema.org.
-
givegif - GIFs on the
command line.
Image Conversion
-
imgp - Blazing fast batch
image resizer and rotator.
-
korkut - Quick and
simple image processing.
-
imagemagick - Gold standard for
anything images.
SVG
-
SVGO - SVG Optimizer is a
Nodejs-based tool for optimizing SVG vector graphics files.
Screensavers
-
cmatrix - Show a
scrolling ‘Matrix’ like screen.
-
pipes.sh - Shows
random pipes that grow across the screen.
-
YuleLog - Terminal
based Christmas YuleLog fireplace.
-
cli-fireplace -
Shows digital fireplace.
Graphics
-
cli-mandelbrot
- A cli for traversing the Mandelbrot fractal.
-
sparkly-cli -
Generate sparklines ▁▂▃▅▂▇..
-
pastel - Generate,
analyze, convert and manipulate colors.
Just for Fun
-
cowsay - A
configurable talking cow (and other animals).
-
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.
Other
-
birthday - Know
when a friend’s birthday is coming.
-
detect-indent-cli
- Detect the indentation of code.
-
fullname-cli
- Get the fullname of the current user.
-
gzip-size-cli
- Get the gzipped size of a file or stdin.
-
HASHA -cli -
Hashing made simple. Get the hash of text or stdin.
-
kill-tabs - Kill
all Chrome tabs to improve performance, decrease battery usage, and save
memory.
-
leven-cli -
Measure the difference between two strings using the Levenshtein
distance algorithm.
-
mdlt - Do quick math
right from the command line.
-
medium-cli - Read
medium.com stories within your
terminal, also gives top stories.
-
open-shortcut-cli
- Open the URL from a web shortcut file in the browser.
-
shortcut-url-cli
- Get the URL from a web shortcut file.
-
to-double-quotes
- Convert matching single-quotes to double-quotes: I ‘love’ unicorns
=> I “love” unicorns.
-
to-single-quotes
- Convert matching double-quotes to single-quotes: I “love” unicorns → I
‘love’ unicorns.
-
gdb-dashboard -
Modular visual interface for GDB in Python.
-
hget - Render websites in
plain text from your terminal.
-
google-wifi-status
- A Node.js CLI app that displays status of your Google Wifi / OnHub
router.
-
calories - Calories and
weight tracker.
-
trino - Trino CLI
allows a quick and easy translation of words and phrases entered in the
command line.
-
alex - This enhances texts
with checking for insensitive, inconsiderate writing by catching many
possible offences.
-
xiringuito - A
“poor man’s VPN”. An SSH-based “VPN” that’s easy to install, but with
slower performance than a real VPN.
-
nasa-cli - Download
NASA Picture of the Day from your terminal.
-
googlr - Search Google
from the command line.
-
Qalculate -
Calculate non-trival math expressions. Unit conversions, symbolic
calculations and more.
-
translate-shell
- Google Translate interface.
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.
-
gitmoji-cli -
Use emoji in commit messages.
-
gitmoji-changelog
- Generate gitmoji changelogs.
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.