Skip to content

Instantly share code, notes, and snippets.

@keclements
Last active June 3, 2023 05:46
Show Gist options
  • Save keclements/9858fa0e24de26fd58011092f0f3ee47 to your computer and use it in GitHub Desktop.
Save keclements/9858fa0e24de26fd58011092f0f3ee47 to your computer and use it in GitHub Desktop.
[CLI, Shell, Etc] #awesome-list #shell #cli

awesome cli apps




Source Awesome

A curated list of command line apps.

Inspired by the awesome list thing.


Sign up for the Newsletter!


Table of Contents

Table of Contents generated with DocToc


Entertainment

  • cmus - Small, fast and powerful console music player for Unix-like operating systems.
  • Instant-Music-Downloader - Instant music downloader.
  • itunes-remote - It’s about listening to music without leaving the terminal. macOS only.
  • moviemon - Everything about your movies within the command line.
  • pianobar - Pandora client.
  • quote-cli - Get a random quote or the quote of the day in your CLI.
  • movie - Get movie info or compare movies in terminal.
  • somafm-cli - Listen to SomaFM in your terminal.
  • nehm - Console tool, which downloads, sets IDv3 tags and adds to your iTunes (if you use macOS) your SoundCloud likes in convenient way
  • football-cli - Get live scores, fixtures, standings of almost every football competition/league in your terminal.
  • pockyt - Read, Manage, and Automate your Pocket collection.
  • splash-cli - Beautiful wallpapers from unsplash

Social Media

Video

  • youtube-dl - a small command-line program to download videos from YouTube.com and a few more sites. You can install with brew install youtube-dl.
  • open-pip-cli - Watch movies in macOS native picture-in-picture player from your terminal.

Development

  • bcal - Byte CALculator for storage conversions and calculations.
  • boilr - Dependency free CLI to create projects from boilerplate templates.
  • cookiecutter - creates projects from cookiecutters (project templates)
  • dockly - Interactive CLI for managing Docker containers.
  • themer - Generate personalized themes for your editor, terminal, wallpaper, Slack, and more.
  • legit - Choose from many Open Source licences to generate a LICENSE file or add license headers to files.
  • rebound - Instantly fetch Stack Overflow results in your terminal when you get a compiler error.

Web Development

  • bower-name-cli - Check whether a package name is available on bower.
  • caniuse-cmd - Searches caniuse.com about browser support of feature.
  • htconvert - Convert .htaccess redirects to nginx.conf redirects.
  • is-up-cli - Check whether a website is up or down.
  • npm-name-cli - Check whether a package name is available on npm.
  • npm-user-cli - Get user info of a npm user.
  • 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 directory to the web.
  • acmetool - An easy-to-use command line tool for automatically acquiring certificates from ACME servers.
  • 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, without using a web browser.
  • diff2html-cli - Command-line tool to parse git diffs as JSON and generate pretty HTML.
  • npm-home - Open the npm page of the package in the current directory.
  • HTTPie - A user-friendly HTTP client.
  • serve - Easy to use static file server with features like https, CORS and GZIP compression.

Mobile Development

Devops

  • aws-cli - Universal Command Line 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.

Database

  • cycli - A terminal client for Neo4j with autocompletion and syntax highlighting.
  • mycli - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
  • pgcli - A Terminal Client for Postgre with AutoCompletion and Syntax Highlighting.

Productivity

  • AutoScreenshotUploader - Instantly capture and upload screenshot to imgur.
  • bitly-client - Make and manage Bitly shortlinks with this command line utility
  • doing - A command line tool for keeping track of what you’re doing and tracking what you’ve done.
  • ffscreencast - ffmpeg screencast with video overlay and multi monitor support.
  • idea - A lightweight CLI tool and module for keeping ideas in a safe place quick and easy.
  • imgur-uploader-cli - Upload images to imgur.
  • geeknote - Console client for Evernote.
  • ledger - Powerful, double-entry accounting system that is accessed from the UNIX command-line.
  • meetup-cli - Meetup.com command line interface
  • The Mutt E-Mail Client - Email client.
  • Taskwarrior - Free and Open Source Software that manages your TODO list from your command line.
  • Timetrap - Simple command line timetracker.
  • terjira - Command line power tool for Jira
  • ipt - Command line interface for pivotal tracker
  • g3l - Git is easy, github cli is easy but g3l easiest git cli in the w0rld!
  • uber-cli - Uber, at your fingertips.
  • moro - Time Tracker with a single command
  • Buku - Powerful command-line bookmark manager
  • googler - Google Search, Google Site Search, Google News from the terminal
  • calcurse - Calcurse, a calendar and scheduling application for the command line.
  • cash-cli - Convert 32 currencies from the command line!
  • papis - Powerful and extensible document and bibliography manager.

Utilities

  • archive-type-cli - Detect the archive type of a Buffer/Uint8Array.
  • battery-level - Get current battery level.
  • brightness-cli - Change screen brightness- windows version.
  • screensaver - Start the screensaver.
  • wallpaper-cli - Get or set the desktop wallpaper.
  • yank - Yank terminal output to clipboard.
  • text-meme - Generate text meme.
  • s - Open a web search in your terminal. Supports multiple search providers.
  • google-font-installer - Search, download, and install any Google Font on your local machine.
  • aria2 - Lightweight multi-protocol and multi-source, cross platform download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
  • mklicense - Create a custom LICENSE file painlessly with customized info. Busy people & beginner's friendly.
  • share-cli - Quickly share files from command line with your local network.
  • remote-share-cli - Quickly share files from your command line with the world.
  • moeda - A foreign exchange rates and currency conversion using cli
  • wego - Get the weather right in your browser or your console.
  • mapscii - Terminal Map Viewer - the whole world in your console!
  • website-popup-cli - Quickly watch a window in a pop up window without closing or opening another full screen window.
  • getnews.tech - Fetch news headlines from various news outlets in your terminal.
  • has - Checks for the presence of various commands and their versions on the path.
  • decktape - PDF exporter for HTML presentations.

macOS

  • bundle-id-cli - Get bundle identifier from a bundle name (macOS): Safari → com.apple.Safari.
  • bundle-name-cli - Get bundle name from a bundle identifier (macOS): com.apple.Safari → Safari.
  • lnfs-cli - Safely force create symlinks.
  • osx-version-cli - Get the macOS version of the current system.
  • osx-wifi-cli - A cli for managing wifi connections on OSX.
  • active-win-cli - Get the title/id/etc of the active window
  • stronghold - Easily configure MacOS security settings from the terminal.

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).
  • shortcutfoo - Learn shortcuts for VIM, Emacs, git, bash and more.
  • The Fuck - Magnificent app which corrects your previous console command.
  • tldr - Simplified and community-driven man pages.
  • Wat - Instant, central, community-built docs.

Data Manipulation

  • jq - Command-line JSON processor http://stedolan.github.io/jq/.
  • underscore-cli - Command-line utility-belt for hacking JSON and Javascript.
  • ramda-cli - A CLI tool for processing data with functional pipelines.
  • yaml-cli - A simple CLI for querying and updating YAML files.
  • jp - Simply parse and drill into JSON on the commandline, with jsonpath and stdin stream support (jq compatible, not a replacement).
  • fx - Command-line JSON processing tool

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.

Deleting, Copying, and Renaming

  • trash-cli - Move files and directories to the trash.
  • empty-trash-cli - Empty the trash.
  • trashss - ( only) Trash screenshots on desktop.
  • 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.

Files

  • chokidar-cli - CLI to watch file system changes.
  • file-type-cli - Detect the file type of a file or stdin.
  • strip-json-comments-cli - Strip comments from JSON. Lets you use comments in your JSON files!
  • DocToc - Generates table of contents for markdown files inside local git repository. Links are compatible with anchors generated by github or other sites.

Directory Listing

  • alder - A minimal implementation of the UNIX tree command with colors!
  • exa - An improved version of ls written in Rust.

Directory Navigation

  • autojump - A cd command that learns - easily navigate directories from the command line- https://github.com/wting/autojump/wiki.
  • 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.
  • happyfinder - (another) Fuzzy file finder for the command line.
  • PathPicker - After parsing the output from a command, PathPicker presents you with a nice UI to select which files you're interested in.
  • find-up-cli - Find a file by walking up parent directories.
  • fz - Seamless fuzzy tab completion for z
  • nnn - File browser and disk usage analyzer with excellent desktop integration

Terminal Utilities

  • gotty - Share your terminal as a web application.
  • localtunnel - Exposes 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 from command-line programs to the web in real-time.
  • teleconsole - Share your UNIX terminal in seconds.
  • tmate.io - Instant terminal (tmux) sharing.
  • warp - Secure and simple terminal sharing.
  • OverTime - Easy time-overlap tables for remote teams.
  • undollar - undollar strips the '$' preceding copy-pasted terminal commands.

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.
  • starring - Automatically star the npm-packages that you are using on GitHub.
  • 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.

Changelogs

  • clog - A conventional changelog for the rest of us.

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

SVG

  • SVGO - SVG Optimizer is a Nodejs-based tool for optimizing SVG vector graphics files.

Text Manipulation

  • parse-columns-cli - Parse text columns, like the output of unix commands. Returns JSON that you can manipulate with tools like jq or underscore-cli.

Screensavers

  • cmatrix - Show a scrolling 'Matrix' like screen- (original).
  • pipes.sh - Shows random pipes that grow across the screen.

Graphics

  • cli-mandelbrot - A cli for traversing the Mandelbrot fractal.
  • WOPR - A simple markup language for creating rich terminal reports, presentations and infographics.
  • sparkly-cli - Generate sparklines ▁▂▃▅▂▇..
  • JackPaper - Pull random/queried images from unplash.com and apply to your desktop wallpaper.

Other

  • app-path-cli - Get the path to an app (macOS).
  • Bible.Js CLI client - 📖 Bible.JS CLI client. Read the Holy Bible via the command line.
  • birthday - Know when a friend's birthday is coming.
  • cowsay - You can install with homebrew.
  • cgasm - A tool that gives x86 assembly documentation. It is pronounced "SeekAzzem".
  • detect-indent-cli - Detect the indentation of code.
  • emoj - Find relevant emoji from text on the command-line.
  • emoji-finder - Quickly find and copy emoji to the clipboard via the command-line
  • fortune - Shows a random fortune.
  • fullname-cli - Get the fullname of the current user.
  • get-port-cli - Get an available port.
  • gzip-size-cli - Get the gzipped size of a file or stdin.
  • HASHA -cli - Hashing made simple. Get the hash of text or stdin.
  • is-reachable-cli - Check if hostnames are reachable or not.
  • 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.
  • maybe - See what a program does before deciding whether you really want it to happen.
  • 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.
  • pkg-dir-cli - Find the root directory of a npm package.
  • speedtest-net - Test your internet connection speed and ping using speedtest.net from the CLI. -- speed-test - A wrapper around speeedtest-net with different UI.
  • shortcut-url-cli - Get the URL from a web shortcut file.
  • SpeedRead - A simple terminal-based open source Spritz-alike.
  • 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.
  • yosay - Like cowsay, but for yeoman.
  • gdb-dashboard - Modular visual interface for GDB in Python.
  • weather-cli - Check the weather for your city from your terminal.
  • hget - Render websites in plain text from your terminal.
  • ponysay - Pony rewrite of cowsay.
  • 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.
  • YuleLog - Terminal based Christmas YuleLog fireplace.
  • lolcat - Outputs text in rainbow colors.
  • 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.

Other Awesome Lists

License

CC0

To the extent possible under law, Adam Garrett-Harris has waived all copyright and related or neighboring rights to this work.

 █████╗ ██╗    ██╗███████╗███████╗ ██████╗ ███╗   ███╗███████╗
██╔══██╗██║    ██║██╔════╝██╔════╝██╔═══██╗████╗ ████║██╔════╝
███████║██║ █╗ ██║█████╗  ███████╗██║   ██║██╔████╔██║█████╗
██╔══██║██║███╗██║██╔══╝  ╚════██║██║   ██║██║╚██╔╝██║██╔══╝
██║  ██║╚███╔███╔╝███████╗███████║╚██████╔╝██║ ╚═╝ ██║███████╗
╚═╝  ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝     ╚═╝╚══════╝
███████╗██╗  ██╗███████╗██╗     ██╗
██╔════╝██║  ██║██╔════╝██║     ██║
███████╗███████║█████╗  ██║     ██║
╚════██║██╔══██║██╔══╝  ██║     ██║
███████║██║  ██║███████╗███████╗███████╗
╚══════╝╚═╝  ╚═╝╚══════╝╚══════╝╚══════╝

Awesome Shell Awesome

A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php. This awesome collection is also available on Unix-Shell.ZEEF.com.

Shells

Choose your base shell.

  • bash - GNU Project's shell (Bourne Again SHell)
  • fish - Smart and user-friendly command line shell
  • xiki - Makes the shell console more friendly and powerful
  • xonsh - Python-ish, BASHwards-looking shell language and command prompt
  • zsh - Powerful shell with scripting language

Command-Line Productivity

Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.

  • AdvancedNewFile - Fast creation of files and directories in a recursive way. Inspired by the Vim plugin.
  • ag - Super fast string search through a directory hierarchy
  • aliases - Contextual, dynamic, organized aliases for bash
  • aliasme - alias helper to change directory quickly
  • autoenv - Directory-based environments
  • autojump - A cd command that learns - easily navigate directories from the command line
  • bashhub - ☁️ Bash history in the cloud. Indexed and searchable.
  • bashmarks - Directory bookmarks for the shell
  • bd - Quickly go back to a parent directory
  • boilr - A blazingly fast CLI tool for creating projects from boilerplate templates.
  • boom - Store links and snippets in the commandline
  • borg - A terminal based search engine for bash commands
  • Buku - Powerful command-line bookmark manager
  • byobu - Text-based window manager and terminal multiplexer
  • commacd - A faster way to move around in Bash
  • CloudClip - Your own clipboard in the cloud, copy and paste text with gist between different systems
  • desk - A lightweight workspace manager for the shell
  • direnv - An environment switcher for the shell, compare with autoenv
  • enhancd - 🚀 A next-generation cd command with an interactive filter
  • fasd - Command-line productivity booster, offers quick access to files and directories
  • foxy - Plain text bookmarks for firefox and surf browsers.
  • fz - Seamless fuzzy tab completion for z
  • fzf - A command-line fuzzy finder
  • googler - Google Search, Google Site Search, Google News from the terminal
  • goto - A shell utility for navigation to aliased directories supporting auto-completion
  • has - has helps you check presence of various command line tools and their versions on path
  • how2 - how2 finds the simplest way to do something in a unix shell. It's like man, but you can query it in natural language.
  • hhighlighter - Colorize words in a command output
  • hr - <hr /> for your terminal
  • hss - An interactive parallel ssh client featuring autocomplete and asynchronous execution
  • hstr - Bash History Suggest Box
  • jump - Jump helps you navigate your file system faster by learning your habits.
  • k - k is a Zsh script to make directory listings more readable, adding Git status, fileweight colors and rotting dates
  • k alias - get kool aliases (and more) working with a simple one-liner
  • lf.sh - Quickly search files with fewer typings and do many more (grepping, copying path to clipboard, etc)
  • Lmod - Lua-based Environment Modules that enhances Tcl-based modules while being backward compatible (compare to modules)
  • marker - Bookmark your shell commands
  • modules - Classical Tcl-based Environment Modules managing the shell environment (compare to Lmod, direnv, and autoenv)
  • nnn - File browser and disk usage analyzer with excellent desktop integration
  • parallel - Build and execute shell command lines from standard input in parallel
  • pathpicker - Accepts inputs like grep, searches, git etc; allows selecting files from the result of the input, which you can then open or provide as argument to a command.
  • percol - Adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
  • q - Vim like macro registers for your Bash and Zsh Shell
  • qfc - File-completion widget for Bash and Zsh
  • rg - ripgrep is a line oriented search tool that combines the usability of The Silver Searcher with the raw speed of GNU grep
  • shell-history - Visualize your shell usage with Highcharts
  • SHML - Style framework for the terminal (Shell Markup Language)
  • slugify - Command that converts filenames and directories to a web friendly format
  • sman - 🐛 A command-line snippet manager
  • spark - ▁▂▃▅▂▇ in your shell
  • Shark - ▁▂▃▅ Sparkline Generator
  • sheet - Text snippets for the command line
  • spot - Tiny file search utility
  • snips - Commandline tool to manage snippets of code.
  • sshfs - A tool for mounting remote file systems over SSH
  • sshrc - Bring your .bashrc, .vimrc, etc. with you when you SSH
  • sudocabulary - Learn English Vocabulary from your terminal
  • surfraw - browse specific site and search the web from your terminal without browser.
  • thefuck - Fix common shell mistakes by using an easy to remember command
  • tldr - A fully-functional bash client for tldr, simplified and community-driven man pages
  • tmux - Amazing terminal multiplexer
  • up - Ascend directories by name or count; for bash, zsh, and fish.
  • v - z for vim.
  • wemux - Multi-User Tmux Made Easy
  • z - z is the new j, yo

Customization

Custom prompts, color themes, etc.

For Developers

Command-line development, version control, and deployment.

  • bcal - Byte CALculator for storage conversions and calculations
  • bocker - Docker implemented in 100 lines of bash
  • cloc - Count Lines of Code
  • doclt - A command line interface to Digital Ocean
  • dokku - Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen.
  • getopts - CLI parser for fish
  • git-extra-commands - Many Git extra utilities. Churn, cut-branch, improved-merge and many more.
  • git-extras - Git utilities -- repo summary, repl, changelog population, author commit percentages and more
  • git-open - Type git open to open the GitHub page or website for a repository in your browser
  • git-semver - Git plugin for easing semantic versioning and changelog validation
  • git-sh - A customized Bash environment suitable for Git work
  • git-up - Automatically rebase incoming changes instead of merging. Be polite!
  • hub - hub helps you win at git.
  • licins - Insert commented software licenses into source code.
  • mr - Multiple Repository management tool
  • overcommit - A fully configurable and extendable Git hook manager
  • pre-commit - A framework for managing and maintaining multi-language pre-commit hooks
  • rebound - Instantly browse Stack Overflow results in your terminal when you get a compiler error
  • repren - Command-line search-and-replace and file-renaming swiss army knife
  • slap - Sublime-like terminal-based text editor that runs on Node.js
  • shipit - Minimalistic SSH deployment
  • starring - Automatically star the npm-packages that you are using on GitHub.
  • tag - Instantly jump to your ag matches.

System Utilities

OS-related tools, including system administration, system debugging, and file and process management.

  • atop - ASCII full-screen performance monitor that is capable of reporting the activity of all processes
  • catcli - The command line catalog tool for your offline data
  • ccat - ccat is the colorizing cat. It works similar to cat but displays content with syntax highlighting.
  • colorex - Displays files or sdtin with pretty colors for matched patterns.
  • progress - Linux tool to show progress for cp, rm, dd, and more...
  • stronghold - Easily configure MacOS security settings from the terminal.
  • glances - Glances an Eye on your system
  • goaccess - GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems.
  • histstat - History for netstat
  • htop - A ncurses based interactive process viewer which aims to be a better top
  • lnav - An advanced log file viewer for the small-scale
  • logdissect - CLI utility and Python API for analyzing log files and other data.
  • ls++ - Colorized ls on steroids
  • lsp - An improved ls, with file descriptions in plain language and intelligent file grouping
  • mtr - The functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.
  • ncdu - NCurses Disk Usage
  • powertop - Battery/Power usage and device stats monitoring command-line tool, with tune-up options.
  • procdog - Lightweight command-line control of long-lived processes like servers
  • quick-secure - Quickly secure and harden UNIX/Linux systems
  • xiringuito - SSH-based "VPN for poors"

Downloading and Serving

Self-hosted, lightweight servers and networking tools written in shell scripts.

  • aria2 - aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, BitTorrent and Metalink
  • balls - Bash on Balls
  • bashttpd - A web server written in Bash
  • bitpocket - "DIY Dropbox" or "2-way directory (r)sync with proper deletion"
  • Dropbox-Uploader - Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox
  • httpie - HTTPie is a command line HTTP client, a user-friendly cURL replacement
  • HTTPLab - The interactive web server, let you inspect HTTP requests and forge responses.
  • ngincat - Tiny Bash HTTP server using netcat
  • resty - Little command line REST client that you can use in pipelines
  • youtube-dl - Small command-line program to download videos from YouTube.com and other video sites

Multimedia and File Formats

Tools for handling video and audio files.

  • adb-export - Export Android content providers to CSV format
  • Android-Kitchen - A text-based kitchen for Android ROM customization. Uses shell scripts and works with Cygwin/OS X/Linux
  • Beets - Music library manager and MusicBrainz tagger
  • cmus - Cross-platform cli audio player.
  • gifgen - Simple high quality GIF encoding
  • image-scraper - A cool command line image scraper with a lot of features.
  • imgp - Blazing fast batch image resizer and rotator
  • jq - Sed for json data. You can use it to slice and filter and map and transform structured data
  • mpv - Lets you play most audio and video formats (using ASCII characters) in the shell as well as in a GUI.
  • nehm - Console tool, which downloads, sets IDv3 tags and adds to your iTunes (if you use it) your SoundCloud likes in convenient way
  • PiCAST - PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device
  • sejda - Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc)
  • xidel - Cli tool to filter, map and create HTML/XML/JSON data with (Turing-complete) XPath and XQuery.
  • xmlstarlet - Old but powerful tool for command-line XML formatting, filtering, and manipulation.
  • fx - Command-line JSON processing tool by anononymus JavaScript functions

Applications

Command line-based applications or command line access to existing services.

  • ansiweather - Weather in your terminal, with ANSI colors and Unicode symbols
  • bashblog - A Bash script that handles blog posting
  • choosealicense-cli - Choose an OSS license from the comfort of your terminal
  • facebook-cli - Facebook command line tool
  • fanyi - Translate English to Chinese in terminal
  • geeknote - Command line evernote client
  • haxor-news - Browse Hacker News like a haxor
  • hn-cli - Browse Hacker News from the comfort of your Terminal
  • iponmap - Draw point on world map using ip address
  • isitup - Check whether a website is up or down
  • jrnl - A simple command line journal application that stores your journal in a plain text file
  • ledger - Command line accounting
  • licen - Generate your license. Yet another lice, but implement with Jinja2 and docopt
  • moviemon - Everything about your movies within the command line.
  • pockyt - Read, Manage, and Automate your Pocket collection.
  • pushblast - Get PushBullet notifications when a shell program exits
  • pushbullet-bash - Bash interface to the PushBullet API
  • Reddit Terminal Viewer - Browse Reddit from your terminal
  • SAWS - A Supercharged AWS CLI
  • taskwarrior - A command-line TODO list manager
  • terjira - Command line power tool for Jira
  • transfer.sh — Quickly upload and share files from your shell
  • vl - URL link checker on text documents
  • wego - Weather app for the terminal
  • whereami - Get your geolocation information from the CLI
  • wttr.in - ⛅ The right way to check the weather (curl wttr.in)

Games

All work and no play is a cruddy way to spend your day.

  • bash2048 - Bash implementation of 2048 game
  • minesweeper - Bash implementation of minesweeper
  • nudoku - ncurses based sudoku game written in C
  • piu-piu - Horizontal scroller game in bash with multiplayer mode!
  • sedtris - Tetris in sed
  • sed-scripts - Arkanoid and Sokoban written using sed
  • tty-solitaire - Play solitaire in your terminal!

Shell Package Management

Tools for managing multiple shell configurations. For zsh-specific tools, see the Zsh section.

  • bash-it - A community Bash framework
  • basher - A package manager for shell scripts
  • bpkg - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg
  • dotdrop - Save your dotfiles once, deploy them everywhere
  • dotfiler – Shell agnostic git based dotfiles package manager, written in Python.
  • fresh - Keep your dotfiles fresh
  • homeshick - Git dotfile synchronizer written in Bash
  • shundle - Plugin manager for shell scripts
  • vcsh - Config manager based on Git
  • yadm - Git-based dotfiles manager supporting encryption, alternates, and bootstrapping

Shell Script Development

Tools for writing, improving, or organizing Bash or other shell scripts

  • ansi - ANSI escape codes in pure bash - change text color, position the cursor, much more
  • assert.sh - Bash unit testing framework
  • bashful - A collection of libraries to simplify writing Bash scripts
  • Bashlets - A modular extensible toolbox for Bash
  • bashmanager - mini bash framework for creating command line tools
  • bashwithnails - a Bash framework written just for fun with testing, dependency management & packaging
  • bash-language-server - LSP-based Bash language server
  • bats - Bash Automated Testing System
  • crash - Proper error handling, exceptions and try/catch for ZSH
  • Fishtape - TAP producer and test harness for fish
  • composure - Compose, document, version and organize your shell functions
  • dispatch - A command line argument parser in 50 lines of portable shell script.
  • is.sh - An alternative for builtin test command, it will make your "if" statements pretty
  • lumberjack - A logging interface for shell scripts
  • mo - Mustache templates in pure bash
  • optparse - A BASH wrapper for getopts, for simple command line arguments.
  • rerun - A modular shell automation framework to organize your keeper scripts
  • revolver - A reusable progress spinner for shell scripts
  • phases - Minimally invasive bash preprocessor, select sections of your script to run
  • semver_bash - Semantic Versioning in Bash
  • sh-semver - Semver tool for bash - finds versions matching to specified rules
  • shellcheck - Static analysis tool for shell scripts
  • shellfire - A repository of namespaced, composable shell (bash, sh and dash) function libraries
  • shpec - A shell testing framework
  • shutit - Automation framework based on bash and pexpect
  • sub - A delicious way to organize programs
  • ts - A shell test script
  • urchin - An idiomatic shell testing framework that uses only shell commands
  • shunit2 - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit.
  • rebash - Scripting library/framework. Features: imports, exceptions, doc-tests ...
  • zunit - A powerful unit testing framework for ZSH

Guides

Other Awesome Lists

Other amazingly awesome lists can be found in awesome-awesome and awesome-awesomeness.

See also

Terminals_Are_Sexy_Logo Source - Nikolaskama @ github

Terminals Are Sexy Awesome

A curated list of Terminal frameworks, plugins & resources for CLI lovers.

Check out my blog and follow me on Twitter.

Build Status Say Thanks GitHub Stars

Table of Contents

  1. Shells
  2. Terminal Emulation Applications
  3. Package Managers
  4. Text Editors
  5. Tools and Plugins
  6. Communication
  7. Other

Shells

Sexy frameworks, plugins and resources for your sexy shell.

Base Shells

  • bash - GNU Project's shell (Bourne Again SHell).
  • zsh - Powerful shell with scripting language.
  • fish - Smart and user-friendly command line shell.
  • xonsh - Python-ish, BASHwards-looking shell language and command prompt.
  • PowerShell - Automation and configuration tool/framework that is optimized for dealing with structured data.
  • Ammonite-Shell - An object shell with a Scala-like scripting language.

ZSH

  • oh-my-zsh - Delightful community-driven framework for managing your zsh configuration.
  • prezto - Configuration framework for Zsh.
  • zsh-syntax-highlighting - Fish shell like syntax highlighting for Zsh.
  • antigen - Plugin manager for zsh, inspired by oh-my-zsh and vundle.
  • slimzsh - Small, usable configuration for ZSH.
  • antibody - Faster and simpler antigen written in Golang.
  • pure - Pretty, minimal and fast ZSH prompt.
  • powerlevel9k - Super flexible awesome powerline ZSH theme.
  • liquidprompt - Full-featured & carefully designed adaptive prompt for Bash & Zsh.
  • dotzsh - Community driven framework for zsh.
  • zgen - Lightweight and simple plugin manager for ZSH.
  • zplug - Next-generation plugin manager for zsh.
  • zunit - Powerful unit testing framework for ZSH.
  • zshdb - ZSH debugger.
  • zsh-quickstart-kit - Simple zsh quickstart for using zsh and zgen.
  • zsh-autosuggestions - Fish-like autosuggestions for zsh.
  • alf - Out of this world super fast and configurable framework for zsh.
  • ant-zsh - Tiny and lightweight ZSH configuration environment for special customization needs.
  • pumice - Lightweight plugin manager for zsh.
  • zeesh - Cross-platform Zsh framework.
  • zilsh - Zsh config system that aims to appeal more to power-users and follow the simplistic approach of vim-pathogen.
  • zim - Zsh configuration framework with blazing speed and modular extensions.
  • zoppo - Crippled configuration framework for Zsh.
  • zpm - Plugin manager for zsh similar to vim-plug.
  • ztanesh - Aims to improve your UNIX command line experience and productivity with the the configuration provided by the ztanesh project.
  • zulu - Total environment manager for ZSH 5+.
  • zsh-pony - Covers customizing ZSH without a framework.

Bash

  • bash-sensible - Attempt at saner Bash defaults.
  • bash-powerline - Powerline-style Bash prompt in pure Bash script.
  • bashtrap - Quick way to spruce up OSX terminal.
  • liquidprompt - Full-featured & carefully designed adaptive prompt for Bash & Zsh.
  • hstr - Bash History Suggest Box.
  • aliases - Contextual, dynamic, organized aliases for the bash shell.
  • bash-it - Collection of community Bash commands and scripts.

Git

  • git-prompt - Bash prompt with Git, SVN and HG modules.
  • gittify - Colorful Bash prompt + customized Git aliases.
  • oh-my-git - Opinionated git prompt for bash and zsh.
  • bash-git-prompt - Informative and fancy Bash prompt for Git users.
  • sexy-bash-prompt - Bash prompt with colors, Git statuses, and Git branches.
  • git-sh - Customized Bash environment suitable for Git work.
  • git-radar - Heads up display for git
  • git-extra-commands - Collection of useful extra commands for git

Fish

⬆ back to top

Terminal Emulation Applications

Sexy 3rd party terminal emulation applications.

  • iTerm2 - Terminal emulator for macOS that does amazing things.
  • ConEmu - Customizable Windows terminal with tabs, splits, quake-style and more.
  • PuTTY - SSH and telnet client, developed originally by Simon Tatham for the Windows platform.
  • KiTTY - Fork from version 0.67 of PuTTY, the best telnet / SSH client in the world.
  • Terminator - The robot future of terminals.
  • Konsole - Terminal emulator for the K Desktop Environment.
  • MacTerm - Powerful replacement for macOS Terminal.
  • xterm - Terminal emulator for the X Window System.
  • Hyper - Terminal built on web technologies.
  • ZOC - SSH/Telnet Client and Terminal Emulator for macOS and Windows.
  • Upterm - Terminal emulator for the 21st century.
  • TotalTerminal - System-wide terminal available on a hot-key.
  • Go2Shell - Opens a terminal window to the current directory in Finder.
  • Cathode - Vintage terminal for macOS.
  • Alacritty - Cross-platform, GPU-accelerated terminal emulator.
  • Termite - Keyboard-centric terminal, aimed at use within a tiling window manager.
  • Cmder - Lovely console emulator package for Windows.
  • ConsoleZ - Windows console window enhancement. It is a fork of Console project.
  • Mosh - Remote terminal application that allows roaming and supports intermittent connectivity.
  • Tilix - Advanced GTK3 tiling terminal emulator that follows the Gnome Human Interface Guidelines.
  • Tilda - A Gtk based drop down terminal for Linux and Unix

⬆ back to top

Package Managers

Sexy package managers for your macOS, Linux & Windows CLIs.

Universal

  • guix - Functional package manager for installed software packages and versions.
  • nix - Powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible.
  • pip - Package management system used to install and manage software packages written in Python.
  • npmjs - Package manager for JavaScript.
  • duo - Next-generation package manager for the front-end.
  • basher - Package manager for shell scripts.
  • bpkg - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg.
  • rubygems - The Ruby community’s gem hosting service.
  • composer - Composer is a package manager for PHP.
  • yarn - New package and dependency manager for javascript.

macOS

  • homebrew - Missing package manager for macOS.
  • fink - Wants to bring the full world of Unix Open Source software to Darwin and macOS.
  • macports - Package managemer that simplifies the installation of software on the macOS and Darwin operating systems.

Linux

  • linuxbrew - The Homebrew package manager for Linux.
  • pkgin - Aimed at being an apt / yum like tool for managing pkgsrc binary packages.

Windows

  • oneget - PackageManagement (aka OneGet) is a package manager for Windows.
  • chocolatey - Package manager for Windows.
  • cygwin - Linux-like environment for Windows making it possible to port software running on POSIX systems to Windows.
  • ninite - Install and Update All Your Programs at Once.
  • ruckzuck - Software Package Manager for Windows, a quick way to install and update Software.
  • wpkg - Automated software deployment, upgrade and removal program for Windows.
  • scoop - Package manager for Windows.
  • babun - Preconfigured cygwin with an advance package manager - pact.

⬆ back to top

Text Editors

Sexy text editors for your Command Line Interface.

  • vim - Extensively configurable, cross-platform and highly efficient text editor.
    • SpaceVim - Community-driven vim distribution.
    • neovim - Literally the future of vim.
  • emacs - Cross-platform text-editor that has both command-line and graphical user interface.
    • spacemacs - Community-driven emacs distribution.
  • nano - Text editor for Unix-like computing systems or operating environments using a command line interface.
  • micro - Modern and intuitive terminal-based text editor.
  • jed - Freely available text editor for Unix, VMS, MSDOS, OS/2, BeOS, QNX, and win9X/NT platforms.
  • kakoune - Modal editor with multiple selections and orthogonal design.
  • vis - Highly efficient text editor.
  • slap - Sublime-like terminal-based text editor.

⬆ back to top

Tools and Plugins

Sexy Applications for your Command Line Interface.

  • haxor-news - Browse Hacker News like a haxor.
  • reddit terminal viewer - Browse Reddit from your terminal.
  • taskwarrior - Command-line TODO list manager.
  • transfer.sh - Quickly upload and share files from your shell.
  • whereami - Get your geolocation information from the CLI.
  • howdoi - Instant code answers and examples from the command line
  • htop - Cool looking and interactive process viewer 'replacement' for the top command.
  • glances - A top/htop alternative.
  • lolcat - Rainbows and unicorns!
  • ack - Tool like grep, optimized for programmers.
  • the_silver_searcher - Code-searching tool similar to ack, but faster.
  • lunchy - Friendly wrapper for launchctl.
  • tldr - Simplified and community-driven man pages.
  • tmux - Terminal multiplexer.
  • ranger - Console file manager with vi key bindings.
  • googler - Search Google from your terminal.
  • jq.node - Command-line JSON/string processor, JavaScript and Lodash in your shell.
  • screenfetch - Fetches system/theme information in terminal for Linux desktop screenshots.
  • neofetch - Fetches system/theme information in terminal for Linux desktop screenshots. Alternative to screenfetch.
  • jrnl - Simple command line journal application that stores your journal in a plain text file.
  • tig - Text mode interface for git.
  • vifm - Console file manager with vi key bindings and some ideas from mutt.
  • byobu - Byobu is an open source text-based window manager and terminal multiplexer.
  • autojump - cd command that learns
  • fzf - Command-line fuzzy finder.
  • wttr.in - The right way to check the weather.
  • getnews.tech - Checking the latest news headlines from various news outlets on the web.
  • hub - Command-line wrapper for git that makes working with GitHub easy.
  • exa - Replacement for 'ls' written in Rust.
  • homebrew-cask - CLI workflow for the administration of macOS applications distributed as binaries.
  • mps-youtube - Terminal based YouTube player and downloader
  • colorls - Beautify the terminal's ls command, with color and font-awesome icons.
  • buku - command-line bookmark manager.
  • youtube-dl - download videos from YouTube
  • wal - generate and change colorschemes on the fly.
  • streamlink - CLI for extracting streams from various websites to a video player of your choosing.
  • dockly - Docker console UI and Dashboard for quickly managing and inspecting Containers and Services.
  • lf - Terminal file manager.
  • lexis - word counting made easy. Retrieve the number of words in a string or stdin.
  • asciinema - Terminal session recorder.

⬆ back to top

Communication

Sexy Tools for communicating through the Command Line Interface.

  • irssi - Self proclaimed client of the future and my favorite IRC client.
  • bitchx - Feature-rich and highly configurable, terminal based IRC client based on ircII.
  • centerim - Terminal based, multi-protocol Instant Messaging client with support for IRC.
  • weechat - Fast, light and extensible chat client.
  • epic - IRC client that has been under active development for 20+ years in 5 generations.
  • Slackadaisical - Simple Slack client for the CLI.
  • go-jira - Simple jira command line client in Go.

⬆ back to top

Other

Community

Join the CLI lover community.

Other Sexy Lists

Here are some more sexy lists.

Awesome

  • awesome-devenv - Curated list of delightful Bash scripts and resources.
  • awesome-sysadmin - Curated list of amazingly awesome open source sysadmin resources.
  • awesome-zsh-plugins - Collection of ZSH frameworks, plugins & themes inspired by the various awesome list collections out there.
  • awesome-emacs - A community driven list of useful Emacs packages, libraries and others.

Misc

⬆ back to top

Contributing

Your contributions are always welcome! Please take a look at our contribution guidelines and code of conduct first.

Pull requests might be kept open if it hasn't been decided whether additions are sexy enough.

@rugbyprof
Copy link

Holy moly! Nicely done. I immediately sent link to many colleagues. It's overwhelming and will take weeks to peruse, but I accept the challenge. Thanks for putting this together!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment