# 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](https://unix-shell.zeef.com/caleb.xu). - [Awesome Bash](#awesome-bash) - [Downloading and Serving](#downloading-and-serving) - [Customization](#customization) - [Shell Package Management](#shell-package-management) - [Shell Script Development](#shell-script-development) - [Multimedia and File Formats](#multimedia-and-file-formats) - [Applications](#applications) - [Games](#games) - [Command-Line Productivity](#command-line-productivity) - [For Developers](#for-developers) - [System Utilities](#system-utilities) - [Zsh](#zsh) - [Guides](#guides) - [Other Awesome Lists](#other-awesome-lists) ## Downloading and Serving *Self-hosted, lightweight servers and networking tools written in shell scripts.* * [aria2](https://github.com/tatsuhiro-t/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](https://github.com/jneen/balls) - Bash on Balls * [bashttpd](https://github.com/avleen/bashttpd) - A web server written in Bash * [bitpocket](https://github.com/sickill/bitpocket) - "DIY Dropbox" or "2-way directory (r)sync with proper deletion" * [Dropbox-Uploader](https://github.com/andreafabrizi/Dropbox-Uploader) - Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox * [httpie](https://github.com/jakubroztocil/httpie) - HTTPie is a command line HTTP client, a user-friendly cURL replacement * [ngincat](https://github.com/jaburns/ngincat) - Tiny Bash HTTP server using netcat * [resty](https://github.com/micha/resty) - Little command line REST client that you can use in pipelines * [youtube-dl](https://github.com/rg3/youtube-dl) - Small command-line program to download videos from YouTube.com and other video sites ## Customization *Custom prompts, color themes, etc.* * [base16-shell](https://github.com/chriskempson/base16-shell) - Base16 for Shells * [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt) - An informative and fancy Bash prompt for Git users * [bash-powerline](https://github.com/riobard/bash-powerline) - Powerline-style Bash prompt in pure Bash script * [bashstrap](https://github.com/barryclark/bashstrap) - A quick way to spruce up OSX terminal * [flatui-terminal-theme](https://dribbble.com/shots/1021755-Flat-UI-Terminal-Theme) - Nicer colors for terminal * [git-prompt](https://github.com/lvv/git-prompt) - Bash prompt with Git, SVN and HG modules * [gittify](https://github.com/momeni/gittify) - A colorful Bash prompt + customized Git aliases * [Gogh - Color Scheme](https://github.com/Mayccoll/Elementary-OS-Terminal-Colors) - Color Scheme for Gnome Terminal * [liquidprompt](https://github.com/nojhan/liquidprompt) - A full-featured & carefully designed adaptive prompt for Bash & Zsh * [mysql-colorize](https://github.com/horosgrisa/mysql-colorize.bash) - Colorization for mysql comand-line client * [sexy-bash-prompt](https://github.com/twolfson/sexy-bash-prompt) - Bash prompt with colors, Git statuses, and Git branches ## Shell Package Management *Tools for managing multiple shell configurations.* * [antigen-hs](https://github.com/Tarrasch/antigen-hs) - A replacement for antigen optimized for a low overhead when starting up the shell. * [bash-it](https://github.com/revans/bash-it) - A community Bash framework * [basher](https://github.com/basherpm/basher) - A package manager for shell scripts * [bpkg](http://www.bpkg.io/) - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg * [fresh](https://github.com/freshshell/fresh) - Keep your dotfiles fresh * [homeshick](https://github.com/andsens/homeshick) - Git dotfile synchronizer written in Bash * [oh-my-fish](https://github.com/bpinto/oh-my-fish) - Framework for managing your Fish shell configuration inspired by Oh My Zsh * [vcsh](https://github.com/RichiH/vcsh) - Config manager based on Git * [zgen](https://github.com/tarjoilija/zgen) - A lightweight plugin manager for ZSH inspired by antigen, but optimized for speed when starting a new shell. Can load oh-my-zsh compatible plugins and themes. ## Shell Script Development *Tools for writing, improving, or organizing Bash or other shell scripts* * [bashful](https://github.com/jmcantrell/bashful) - A collection of libraries to simplify writing Bash scripts * [bats](https://github.com/sstephenson/bats) - Bash Automated Testing System * [composure](https://github.com/erichs/composure) - Compose, document, version and organize your shell functions * [dispatch](https://github.com/Mosai/workshop/blob/master/doc/dispatch.md) - A command line argument parser in 50 lines of portable shell script. * [rerun](https://github.com/rerun/rerun) - A modular shell automation framework to organize your keeper scripts * [semver_bash](https://github.com/cloudflare/semver_bash) - Semantic Versioning in Bash * [shellcheck](https://github.com/koalaman/shellcheck) - Static analysis tool for shell scripts * [shpec](https://github.com/rylnd/shpec) - A shell testing framework * [sub](https://github.com/basecamp/sub) - A delicious way to organize programs * [ts](https://github.com/thinkerbot/ts) - A shell test script * [shunit2](https://code.google.com/p/shunit2/) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit. ## Multimedia and File Formats *Tools for handling video and audio files.* * [adb-export](https://github.com/sromku/adb-export) - Export Android content providers to CSV format * [Android-Kitchen](https://github.com/dsixda/Android-Kitchen) - A text-based kitchen for Android ROM customization. Uses shell scripts and works with Cygwin/OS X/Linux * [Beets](https://github.com/sampsyo/beets) - Music library manager and MusicBrainz tagger * [image-scraper](https://github.com/sananth12/ImageScraper) - A cool command line image scraper with a lot of features. * [jq](https://github.com/stedolan/jq) - Sed for json data. You can use it to slice and filter and map and transform structured data * [PiCAST](https://github.com/lanceseidman/PiCAST) - PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device * [sejda](https://github.com/torakiki/sejda/) - Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc) ## Applications *Command line-based applications or command line access to existing services.* * [ansiweather](https://github.com/fcambus/ansiweather) - Weather in your terminal, with ANSI colors and Unicode symbols * [bashblog](https://github.com/cfenollosa/bashblog) - A Bash script that handles blog posting * [geeknote](https://github.com/VitaliyRodnenko/geeknote) - Command line evernote client * [jrnl](https://github.com/maebert/jrnl) - A simple command line journal application that stores your journal in a plain text file * [ledger](https://github.com/ledger/ledger) - Command line accounting * [pushblast](https://github.com/alebcay/pushblast) - Get PushBullet notifications when a shell program exits * [pushbullet-bash](https://github.com/Red5d/pushbullet-bash) - Bash interface to the PushBullet API * [transfer.sh](https://transfer.sh/) — Quickly upload and share files from your shell * [wego](https://github.com/schachmat/wego) - Weather app for the terminal ## Games *All work and no play is a cruddy way to spend your day.* * [bash2048](https://github.com/mydzor/bash2048) - Bash implementation of 2048 game * [minesweeper](https://github.com/feherke/Bash-script/blob/master/minesweeper/minesweeper.sh) - Bash implementation of minesweeper * [sedtris](https://github.com/uuner/sedtris) - Tetris in sed * [sed-scripts](https://github.com/aureliojargas/sed-scripts) - Arkanoid and Sokoban written using sed ## Command-Line Productivity *Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.* * [ag](https://github.com/ggreer/the_silver_searcher) - Super fast string search through a directory hierarchy * [autoenv](https://github.com/kennethreitz/autoenv) - Directory-based environments * [autojump](https://github.com/joelthelion/autojump) - A cd command that learns - easily navigate directories from the command line * [bash-slugify](https://github.com/benlinton/bash-slugify) - Command that converts filenames and directories to a web friendly format * [bashmarks](https://github.com/huyng/bashmarks) - Directory bookmarks for the shell * [byobu](http://byobu.co/) - Text-based window manager and terminal multiplexer * [commacd](https://github.com/shyiko/commacd) - A faster way to move around in Bash * [fasd](https://github.com/clvv/fasd) - Command-line productivity booster, offers quick access to files and directories * [hhighlighter](https://github.com/paoloantinori/hhighlighter) - Colorize words in a command output * [hr](https://github.com/LuRsT/hr) - `