Shell Awesome Shell  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 Command-Line Productivity Customization For Developers System Utilities Downloading and Serving Multimedia and File Formats Applications Games Shell Package Management Shell Script Development Guides Awesome Zsh Awesome Fish   Other Awesome Lists Shells Choose your base shell. bash  - GNU Project's shell (Bourne Again SHell) elvish  - Friendly, expressive shell features like anonymous functions and data structures fish  - Smart and user-friendly command line shell ion  - A modern system shell that features a simple, yet powerful, syntax. It is written entirely in Rust. ksh93  - Korn Shell mksh  - MirBSD Korn Shell nushell  - A modern shell written in Rust oksh  - Portable OpenBSD ksh osh  - Bash compatible, with new/modern Unix shell language called Oil pdksh  - Public domain Korn shell shell++  - Friendly and modern functional and object oriented shell script language shenv  - Simple shell version management tcsh  - C shell with file name completion and command line editing xiki  - Makes the shell console more friendly and powerful xonsh  - Python-ish, BASHwards-looking shell language and command prompt yash  - A POSIX-compliant command line shell with built-in support for completion and prediction based on command history 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 command line borg  - A terminal based search engine for bash commands browsh  - The modern text-based browser Buku  - Powerful command-line bookmark manager byobu  - Text-based window manager and terminal multiplexer cod  — A completion daemon for shell that learns when you invoke  --help  commands 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 ddgr  - DuckDuckGo from the terminal desk  - A lightweight workspace manager for the shell direnv  - An environment switcher for the shell, compare with autoenv dnote  - A simple command line notebook with multi-device sync and web interface enhancd  - 🚀 A next-generation cd command with an interactive filter eureka  - 💡 CLI tool to input and store your ideas without leaving the terminal fasd  - Command-line productivity booster, offers quick access to files and directories fd  - A simple, fast and user-friendly alternative to find. foxy  - Plain text bookmarks for Firefox and surf browsers. fselect  - Find files with SQL-like queries. funky  - Extends functionality of shell functions making them more powerful and flexible. fz  - Seamless fuzzy tab completion for z fzf  - A command-line fuzzy finder gitmux  - Show Git status in Tmux status bar googler  - Google Search, Google Site Search, Google News from the terminal googlr  - Command line tool that lets you search Google from your 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. navi  - An interactive cheatsheet tool for the command-line hhighlighter  - Colorize words in a command output 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 lazy-cd  - Simple bash commands for bookmarked navigation of the file system, complete with bash-completion. 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) loop  - Write and control complex loops with as one-liners marker  - Bookmark your shell commands mackup  - Keep your application settings in sync (OS X/Linux) mcfly  - Fly through your shell history. Great Scot! 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. pdd  - Tiny date, time diff calculator with timers 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 resh  - Contextual shell history for Zsh and Bash rg  - ripgrep is a line oriented search tool that combines the usability of The Silver Searcher with the raw speed of GNU grep screen  - GNU terminal multiplexer 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  - Command line tool to manage snippets of code. sqlline  - Shell for issuing SQL to relational databases via JDBC (multiline, completion, highlighting, dialect support) sshfs  - A tool for mounting remote file systems over SSH sudocabulary  - Learn English Vocabulary from your terminal surfraw  - browse specific site and search the web from your terminal without browser. task-manager  - Execute all your scripts with just two or three keystrokes. td-cli  - A todo command line manager to organize and manage your todos across multiple projects. 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 undollar  - undollar bites the dollar sign off the tip of the command you just pasted into your terminal up  - Ascend directories by name or count; for bash, zsh, and fish. v  - z for vim. wemux  - Multi-User Tmux Made Easy xsv  - a fast CSV command line toolkit written in Rust xxh  - Bring your favorite shell wherever you go through the SSH. z  - z is the new j, yo z.lua  - A new cd command that helps you navigate faster by learning your habits Customization Custom prompts, color themes, etc. base16-builder  - Base16-Builder bash-full-of-colors  - Powerful prompt with screen, tmux, git support and many more bash-git-prompt  - An informative and fancy Bash prompt for Git users bash-powerline  - Powerline-style Bash prompt in pure Bash script bashstrap  - A quick way to spruce up OSX terminal bullet-train-oh-my-zsh-theme  - 🚄 An oh-my-zsh shell theme based on the Powerline Vim plugin emojify  Emoji on the command line 😱 flatui-terminal-theme  - Nicer colors for terminal geometry  - A minimal ZSH theme where any function can be added to the left prompt or (async) right prompt on the fly. git-prompt  - Bash prompt with Git, SVN and HG modules gittify  - A colorful Bash prompt + customized Git aliases Gogh - Color Scheme  - Color Scheme for Gnome Terminal liquidprompt  - A full-featured & carefully designed adaptive prompt for Bash & Zsh mysql-colorize  - Colorization for mysql comand-line client oh-my-git  - An opinionated git prompt for bash and zsh polyglot  - An informative Git prompt that works in bash, zsh, ksh, mksh, pdksh, dash, and busybox sh sexy-bash-prompt  - Bash prompt with colors, Git statuses, and Git branches synth-shell  - Greeter with a customizable status report and a fancy bash prompt For Developers Command-line development, version control, and deployment. ack  - A grep-like search tool optimized for source code. add-gitignore  - Interactive CLI that generates a .gitignore for your project based on your needs. bcal  - Byte CALculator for storage conversions and calculations bitwise  - Terminal based interactive bit manipulator in curses. 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. fish-getopts  - CLI parser for fish forgit  - Utility tool for  git  taking advantage of fuzzy finder fzf. 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-quick-stats  - Git quick statistics is a simple and efficient way to access various statistics in git repository. git-semver  - Git plugin for easing semantic versioning and changelog validation git-sh  - A customized Bash environment suitable for Git work hub  - hub helps you win at git. licins  - Insert commented software licenses into source code. mkdkr  - Makefile + Docker = CI Pipeline 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. wipe-modules  - A little agent that removes the node_modules folder of non-active projects xtm  - Command line tool that helps you manage your Xcode project templates. 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 bat  - A  cat  clone with wings bmon  - Real-time network bandwidth monitor and rate estimator with human-friendly visual output 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. exa  - A modern version of  ls . 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. hblock  - Hosts-file based adblocker 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 maza  - Local ad blocker. Like Pi-hole but local and using your operating system. mtr  - The functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool. ncdu  - NCurses Disk Usage nmtui  - Text User Interface for controlling NetworkManager 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 rng  - Copy range of lines from file or stdin to stdout. wifi-wand  - a Ruby command line application for managing WiFi on MacOS (install by  gem install wifi-wand ) 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 bashhub-server  - Private cloud shell history. Open source server for bashhub 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 shell2http  - HTTP-server to execute shell commands. Designed for development, prototyping or remote control vesper  - 🍸Vesper is a HTTP framework for Bash/Unix Shell 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. fx  - Command-line JSON processing tool by anononymus JavaScript functions 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 jo  - A small utility to create JSON objects from command-line arguments. jq  - Sed for json data. You can use it to slice and filter and map and transform structured data korkut  - Quick and simple image processing at the command line. 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. Applications Command line-based applications or command line access to existing services. ansiweather  - Weather in your terminal, with ANSI colors and Unicode symbols awless  - A powerful, innovative and small surface CLI to manage AWS. bashblog  - A Bash script that handles blog posting carbon-now-cli  - 🎨 Beautiful images of your code — from right inside your terminal. choosealicense-cli  - Choose an OSS license from the comfort of your terminal cointop  - The fastest and most interactive terminal based UI application for tracking cryptocurrencies facebook-cli  - Facebook command line tool fanyi  - Translate English to Chinese in terminal gcalcli  - Google Calendar command line interface 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 md2png  - Convert markdown to PNG image 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 ranger  - A console file manager with VI key bindings. Reddit Terminal Viewer  - Browse Reddit from your terminal SAWS  - A Supercharged AWS CLI taskbook  - Tasks, boards & notes for the command-line habitat 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 whales  - A tool to automatically dockerize your applications 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 SHTAP  - Reusable text adventure engine for Bash 4 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 bashing  - Smashing Bash into Pieces 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 shallow-backup  - Easily create lightweight documentation of installed packages, dotfiles, and more 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 critic.sh  - Dead simple testing framework for Bash with coverage reporting esh  - A simple templating engine based on shell, implemented in ~290 lines of POSIX shell and awk. 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 Bash Hackers Wiki Greg Wooledge's (aka "greycat") wiki . Specifically  Bash Guide ,  Bash FAQ  and  Bash Pitfalls Google's Shell Style Guide The Linux Documentation Project: Bash Programming - Intro/How-to The Linux Documentation Project: Advanced Bash Scripting Guide WikiBooks: Bash Shell Scripting Use the Unofficial Bash Strict Mode (Unless You Looove Debugging) The Art of Command Line Learn Enough Command Line to Be Dangerous A guide to learn bash Other Awesome Lists Other amazingly awesome lists can be found in  awesome-awesome  and  awesome-awesomeness . See also awesome-cli-apps awesome-fish awesome-zsh terminals-are-sexy