Courses & TutorialsOperating SystemProgrammingSoftware
Awesome Command Line Apps – Massive Collection of Resources
A curated list of command line apps.
Inspired by the awesome list thing.
Table of Contents
- Entertainment
- Development
- Productivity
- Utilities
- Command Line Learning
- Data Manipulation
- Files and Directories
- Version Control
- Images
- Screensavers
- Graphics
- Just for Fun
- Other
- Other Awesome Lists
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.
Social Media
- facebook-cli – Facebook command line interface.
- TTYtter – Twitter client.
- 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.
Games
- Dwarf Fortress – Roguelike construction and management simulation.
- Cataclysm-DDA – Turn-based survival game set in a post-apocalyptic world.
Books
- epr – epub reader.
- Bible.Js CLI – Bible.
- SpeedRead – Spritz-alike speedreader.
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.
- grip – Preview markdown files with GitHub styles before committing them.
- bitwise – Base conversion and bit manipulator in ncurses.
- foy – Lightweight general purpose task runner/build tool.
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
- 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.
Devops
- htconvert – Convert .htaccess redirects to nginx.conf redirects.
- aws-cli – Universal Interface for Amazon Web Services.
- azure-cli – Command-line tools for Azure.
- SAWS – Supercharged AWS CLI.
- s3cmd – Fully-Featured S3 client.
- lstags – Synchronize Docker images across different registries.
- pm2 – Production Process Manager for Node.js.
- dockly – Interactively manage Docker containers.
- ops – Unikernel compilation and orchestration tool.
- lazydocker – Simple docker/docker-compose interface.
- flog – A fake log generator for log formats such as apache-common, apache error and RFC3164 syslog.
- isitfit – Manage AWS EC2 rightsizing.
- docker-shell – Simple interactive docker interface.
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.
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
- AutoScreenshotUploader – Capture and upload screenshots to imgur.
- bitly-client – Bitly client.
- 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.
- imgur-uploader-cli – Upload images to imgur.
- meetup-cli – Meetup.com client.
- NeoMutt – Email client.
- terjira – Jira client.
- ipt – Pivotal Tracker client.
- g3l – Easiest git cli in the w0rld!
- uber-cli – Uber client.
- Buku – Browser-independent bookmark manager.
- googler – Google from the terminal.
- papis – Extensible document and bibliography manager.
Time Tracking
- Timetrap – Simple command-line 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 from your command-line.
- Terminal velocity – A fast note-taking app for the terminal.
- eureka – Store your ideas without leaving the terminal.
- 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.
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.
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.
- awesome-finder – Search the awesome lists without a browser.
- mdv – Styled terminal markdown viewer.
- shallow-backup – Git integrated backup tool.
macOS
- open-pip-cli – Watch videos in picture-in-picture player.
- app-path-cli – Get the path to an app.
- bundle-id-cli – Get bundle identifier from a bundle name: Safari → com.apple.Safari.
- bundle-name-cli – Get bundle name from a bundle identifier: com.apple.Safari → Safari.
- lnfs-cli – Safely force create symlinks.
- osx-version-cli – Get the macOS version.
- 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.
- website-popup-cli – Open a website in a popup.
- 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.
- 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
- get-port-cli – Get an available port.
- is-reachable-cli – Check if hostnames are reachable or not.
- 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.
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
- 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.
- neofetch – System information tool.
- Glances – System monitoring tool.
Command Line Learning
- cmdchallenge – presents small shell challenge with user submitted solutions.
- explainshell – type a command line snippet to see the help text for each argument.
- howdoi – Instant coding answers via the command line.
- how2 – Finds the simplest way to do something on a unix bash command line (Nodejs 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 – A tool to develop and improve a student’s programming skills by introducing the earliest lessons of coding.
- navi – Interactive cheatsheet tool.
Data Manipulation
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 using passwords.
Files and Directories
File Managers
- ranger – A console file manager with VI key bindings.
- midnight-commander – A feature rich visual file manager.
- organize-cli – Organize your files, imagine cleaning up your downloads in an instant.
- Vifm – Vifm is an ncurses based file manager with vi like keybindings/modes/options/commands/configuration, which also borrows some useful ideas from mutt.
- 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
- 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 – A cross-platform tool for renaming files quickly, especially multiple files at once.
- renameutils – Mass renaming in your editor.
Files
- chokidar-cli – CLI to watch file system changes.
- file-type-cli – Detect the file type of a file or stdin.
- DocToc – Generates table of contents for markdown files inside local git repository. Links are compatible with anchors generated by github or other sites.
- bat – A cat clone with syntax highlighting.
- NCDu – A disk usage analyzer with an ncurses interface.
- unix-permissions – Swiss Army knife for Unix permissions
- rclone – Sync files to and from various cloud providers (Dropbox, Google Drive, Onedrive, etc.).
- transmission-cli – Torrent client for your command line.
- ffsend – Fully featured CLI for Firefox Send – simple and private file sharing.
- webtorrent-cli – Streaming torrent client.
- share-cli – Share files with your local network.
- google-drive-upload – Upload/sync with Google Drive.
- gdrive-downloader – Download files/folders from Google Drive.
- entr – Run an arbitrary command when files change.
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.
Version Control
Git
- CLI GitHub – 📺 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 – 🍀 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
- awesome-shell – Command-line utilities and frameworks.