Command-Line Apps
A curated list of command line apps.
Inspired by the awesome list thing.
Entertainment¶
- newsboat - An extendable RSS feed reader for text terminals.
Music¶
- cmus - Small, fast and powerful console music player.
- Instant-Music-Downloader - Instant music downloader.
- itunes-remote - Control iTunes via CLI.
- pianobar - Pandora client.
- somafm-cli - Listen to SomaFM in your terminal.
- mpd - Music Player Daemon.
- ncmpcpp - mpd client.
- moc - Console audio player for Linux/UNIX.
- musikcube - Cross-platform, terminal-based music player, audio engine, metadata indexer, and server.
- beets - Music library manager and tagger.
- spotify-tui - Spotify client.
- swaglyrics-for-spotify - Spotify lyrics.
- dzr - deezer.com player.
- radio-active - Internet radio player with 40k+ stations.
- mpvc - Music player interfacing mpv.
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¶
Games¶
- Dwarf Fortress - Roguelike construction and management simulation.
- Cataclysm-DDA - Turn-based survival game set in a post-apocalyptic world.
- Pokete - Pokemon-like.
Books¶
- epr - epub reader.
- Bible.Js CLI - Bible.
- SpeedRead - Spritz-alike speedreader.
- medium-cli - Read medium.com stories.
Chat¶
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¶
- caniuse-cmd - Search caniuse.com about browser support of features.
- strip-css-comments-cli - Strip comments from CSS.
- viewport-list-cli - Return a list of devices and their viewports.
- surge - Publish static websites for free.
Mobile Development¶
- mobicon-cli - Mobile app icon generator.
- mobisplash-cli - Mobile app splash screen generator.
- deviceframe - Put device frames around your mobile/web/progressive app screenshots.
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.
- 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¶
- open-pip-cli - Watch videos in picture-in-picture player.
- osx-wifi-cli - Manage wifi connections.
- active-win-cli - Get the title/id/etc of the active window.
- stronghold - Configure security settings from the terminal.
- dark-mode - Toggle dark mode.
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¶
- get-port-cli - Get an available port.
- is-reachable-cli - Check if hostnames are reachable or not.
- acmetool - Automatic certificate acquisition for ACME (Let's Encrypt).
- certificate-ripper - Extract server certificates.
- neoss - User-friendly and detailed socket statistics.
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.
- 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¶
- fastfetch - System information tool.
- battery-level-cli - Get current battery level.
- brightness-cli - Change screen brightness (windows).
- yank - Yank terminal output to clipboard.
- screensaver - Start the screensaver.
- google-font-installer - Download and install Google Web Fonts on your local machine.
- glances - System monitoring tool.
- tiptop - System monitor.
- gzip-size-cli - Get the gzipped size of a file.
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-trivial 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 influenced file manager.
- nnn - File browser and disk usage analyzer with excellent desktop integration.
- lf - Fast, extensively customizable file manager.
- clifm - The command line file manager.
- far2l - Orthodox file manager.
- yazi - Blazing fast file manager.
Deleting, Copying, and Renaming¶
- trash-cli - Move files and directories to the trash.
- empty-trash-cli - Empty the trash.
- del-cli - Delete files and folders.
- cpy-cli - Copies files.
- rename-cli - Rename files quickly.
- renameutils - Mass renaming in your editor.
- diskonaut - Disk space navigator.
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 structural search, linting and rewriting.
Version Control¶
- SnowFS - A fast, scalable version control system for binaries.
Git¶
- git commander - Interactive git tool.
- git-stats - A local GitHub-like contributions calendar.
- dev-time - Get the current local time of a GitHub user.
- 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 - Create GitLab merge requests.
- git-extras - Git utilities.
- gita - Manage multiple git repos side by side.
- readme-md-generator - Interactively generate README.md files.
- semantic-git-commit-cli - Ensure semantic commits messages.
- import-github-labels-cli - Sync labels between Github repos.
- git-all-branches - Improved
git branch -a
. - czg - Interactively generate standardized commit messages.
- shallow-backup - Git integrated backup tool.
- Lazygit - Simple TUI for git commands.
GitHub¶
- CLI GitHub - Fancy GitHub client.
- hub - Make git easier to use with GitHub.
- git-labelmaker - Edit GitHub labels.
Emoji¶
- gitmoji-cli - Use emoji in commit messages.
- gitmoji-changelog - Generate gitmoji changelogs.
Images¶
- SVGO - Optimize SVG files.
- carbon-now-cli - Generate beautiful images of your code.
- imgur-uploader-cli - Upload images to imgur.
- pageres-cli - Capture website screenshots.
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¶
- cmatrix - Scrolling 'Matrix'-like screen.
- pipes.sh - Random pipes that grow across the screen.
- YuleLog - Christmas Yule Log fireplace.
- cli-fireplace - Digital fireplace.
Graphics¶
- cli-mandelbrot - Traverse the Mandelbrot fractal.
- sparkly-cli - Generate sparklines ▁▂▃▅▂▇..
- pastel - Generate, analyze, convert and manipulate colors.
- lowcharts - Draw low-resolution graphs.
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¶
- awesome-git-addons - Addons that extend git cli.
- awesome-shell – Command-line utilities and frameworks.
- terminals-are-sexy – Terminal frameworks, plugins & resources.
- awesome-zsh-plugins – ZSH frameworks, plugins, tutorials & themes.
- awesome-nodejs clis – Node.js modules and resources.
License¶
To the extent possible under law, Adam Garrett-Harris has waived all copyright and related or neighboring rights to this work.