└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Shell 2 | 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). 3 | - [Awesome Bash](#awesome-bash) 4 | - [Networking and Servers](#networking-and-servers) 5 | - [Customization](#customization) 6 | - [Package Management and Frameworks](#package-management-and-frameworks) 7 | - [Writing and Testing Scripts](#writing-and-testing-scripts) 8 | - [Multimedia](#multimedia) 9 | - [Games](#games) 10 | - [Utilities and Tools](#utilities-and-tools) 11 | - [Guides](#guides) 12 | - [Other Awesome Lists](#other-awesome-lists) 13 | 14 | ## Networking and Servers 15 | 16 | *Self-hosted, lightweight servers and networking tools written in shell scripts.* 17 | 18 | * [balls](https://github.com/jneen/balls) - Bash on Balls 19 | * [bashblog](https://github.com/cfenollosa/bashblog) - A Bash script that handles blog posting 20 | * [bashttpd](https://github.com/avleen/bashttpd) - A web server written in bash 21 | * [bitpocket](https://github.com/sickill/bitpocket) - "DIY Dropbox" or "2-way directory (r)sync with proper deletion" 22 | * [dokku](https://github.com/progrium/dokku) - Docker powered mini-Heroku in around 100 lines of Bash 23 | * [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 24 | * [ngincat](https://github.com/jaburns/ngincat) - Tiny bash HTTP server using netcat 25 | * [pushblast](https://github.com/alebcay/pushblast) - Get PushBullet notifications when a shell program exits 26 | * [pushbullet-bash](https://github.com/Red5d/pushbullet-bash) - Bash interface to the PushBullet API 27 | * [resty](https://github.com/micha/resty) - Little command line REST client that you can use in pipelines 28 | 29 | ## Customization 30 | 31 | *Custom prompts, color themes, etc.* 32 | 33 | * [awesome-zsh-plugins](https://github.com/unixorn/awesome-zsh-plugins) - A list of zsh plugins usable with antigen, dotzsh, oh-my-zsh & prezto. 34 | * [base16-shell](https://github.com/chriskempson/base16-shell) - Base16 for Shells 35 | * [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt) - An informative and fancy bash prompt for Git users 36 | * [bash-powerline](https://github.com/riobard/bash-powerline) - Powerline-style Bash prompt in pure Bash script 37 | * [bashstrap](https://github.com/barryclark/bashstrap) - A quick way to spruce up OSX terminal 38 | * [flatui-terminal-theme](https://dribbble.com/shots/1021755-Flat-UI-Terminal-Theme) - Nicer colors for terminal 39 | * [liquidprompt](https://github.com/nojhan/liquidprompt) - A full-featured & carefully designed adaptive prompt for Bash & Zsh 40 | * [powerline-zsh](https://github.com/carlcarl/powerline-zsh) - Powerline for Zsh 41 | * [pure](https://github.com/sindresorhus/pure) - Pretty, minimal and fast ZSH prompt 42 | * [sexy-bash-prompt](https://github.com/twolfson/sexy-bash-prompt) - Bash prompt with colors, git statuses, and git branches 43 | * [zsh-autosuggestions](https://github.com/tarruda/zsh-autosuggestions) - Fish-like autosuggestions for zsh 44 | * [zsh-git-prompt](https://github.com/olivierverdier/zsh-git-prompt) - Informative git prompt for zsh 45 | * [zsh-prompt-powerline](https://github.com/Valodim/zsh-prompt-powerline) - A ZSH prompt based on the powerline font from the popular vim plugin 46 | * [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting) - Fish shell like syntax highlighting for zsh 47 | * [zsh-history-substring-search](https://github.com/zsh-users/zsh-history-substring-search) - An implementation of the Fish shell's history search feature for zsh. 48 | 49 | ## Package Management and Frameworks 50 | 51 | *Tools for managing multiple shell configurations.* 52 | 53 | * [antigen](https://github.com/zsh-users/antigen) - A plugin manager for zsh, inspired by oh-my-zsh and vundle 54 | * [bash-it](https://github.com/revans/bash-it) - A community bash framework 55 | * [bpkg](http://www.bpkg.io/) - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg 56 | * [dotzsh](https://github.com/dotphiles/dotzsh) - dotzsh strives to be platform and version independent, some functionality may be lost when running under older versions of zsh, but it should degrade cleanly and allow you to use the same setup on multiple machines of differing OS's without problems. 57 | * [fresh](https://github.com/freshshell/fresh) - Keep your dotfiles fresh 58 | * [homeshick](https://github.com/andsens/homeshick) - git dotfile synchronizer written in bash 59 | * [oh-my-fish](https://github.com/bpinto/oh-my-fish) - Framework for managing your fish shell configuration inspired by Oh My ZSH 60 | * [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) - A community-driven framework for managing your zsh configuration 61 | * [prezto](https://github.com/sorin-ionescu/prezto) - The configuration framework for Zsh 62 | * [vcsh](https://github.com/RichiH/vcsh) - config manager based on Git 63 | 64 | ## Writing and Testing Scripts 65 | 66 | *Boilerplate-like templates and systems to jump-start whatever script you are writing.* 67 | 68 | * [bashful](https://github.com/jmcantrell/bashful) - A collection of libraries to simplify writing bash scripts 69 | * [bats](https://github.com/sstephenson/bats) - Bash Automated Testing System 70 | * [composure](https://github.com/erichs/composure) - Compose, document, version and organize your shell functions 71 | * [dispatch](https://github.com/Mosai/workshop/blob/master/doc/dispatch.md) - A command line argument parser in 50 lines of portable shell script. 72 | * [shpec](https://github.com/rylnd/shpec) - A shell testing framework 73 | * [sub](https://github.com/basecamp/sub) - a delicious way to organize programs 74 | * [ts](https://github.com/thinkerbot/ts) - a shell test script 75 | 76 | ## Multimedia 77 | 78 | *Tools for handling video and audio files.* 79 | 80 | * [Beets](https://github.com/sampsyo/beets) - Music library manager and MusicBrainz tagger 81 | * [PiCAST](https://github.com/lanceseidman/PiCAST) - PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device 82 | 83 | ## Games 84 | 85 | *All work and no play is a cruddy way to spend your day.* 86 | 87 | * [bash2048](https://github.com/mydzor/bash2048) - Bash implementation of 2048 game 88 | * [minesweeper](https://github.com/feherke/Bash-script/blob/master/minesweeper/minesweeper.sh) - Bash implementation of minesweeper 89 | * [sedtris](https://github.com/uuner/sedtris) - Tetris in sed 90 | * [sed-scripts](https://github.com/aureliojargas/sed-scripts) - Arkanoid and Sokoban written using sed 91 | 92 | ## Utilities and Tools 93 | 94 | *Other various neat gizmos to make your terminal experience more enjoyable.* 95 | 96 | * [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 97 | * [ansiweather](https://github.com/fcambus/ansiweather) - Weather in your terminal, with ANSI colors and Unicode symbols 98 | * [autoenv](https://github.com/kennethreitz/autoenv) - Directory-based environments 99 | * [autojump](https://github.com/joelthelion/autojump) - A cd command that learns - easily navigate directories from the command line 100 | * [bash-slugify](https://github.com/benlinton/bash-slugify) - Command that converts filenames and directories to a web friendly format 101 | * [bashmarks](https://github.com/huyng/bashmarks) - Directory bookmarks for the shell 102 | * [cv](https://github.com/Xfennec/cv) - Linux tool to show progress for cp, rm, dd, ... 103 | * [fasd](https://github.com/clvv/fasd) - Command-line productivity booster, offers quick access to files and directories 104 | * [geeknote](https://github.com/VitaliyRodnenko/geeknote) - Command line evernote client 105 | * [git-extras](https://github.com/visionmedia/git-extras) - GIT utilities -- repo summary, repl, changelog population, author commit percentages and more 106 | * [git-sh](https://github.com/rtomayko/git-sh) - A customized bash environment suitable for git work 107 | * [quick-secure](https://github.com/marshyski/quick-secure) - Quickly secure and harden UNIX/Linux systems 108 | * [hr](https://github.com/LuRsT/hr) - `
` for your terminal 109 | * [hstr](https://github.com/dvorka/hstr) - BASH History Suggest Box 110 | * [jrnl](https://github.com/maebert/jrnl) - A simple command line journal application that stores your journal in a plain text file 111 | * [k](https://github.com/supercrabtree/k) - k is a zsh script to make directory listings more readable, adding git status, fileweight colors and rotting dates 112 | * [ledger](https://github.com/ledger/ledger) - Command line accounting 113 | * [lsp](https://github.com/dborzov/lsp) - An improved `ls`, with file descriptions in plain language and intelligent file grouping 114 | * [mr](https://github.com/joeyh/myrepos) - Multiple Respository management tool 115 | * [percol](https://github.com/mooz/percol) - Adds flavor of interactive filtering to the traditional pipe concept of UNIX shell 116 | * [pretty-time-zsh](https://github.com/sindresorhus/pretty-time-zsh) - Convert seconds to a human readable string: `165392` → `1d 21h 56m 32s` 117 | * [sejda](https://github.com/torakiki/sejda/) - Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc) 118 | * [semver_bash](https://github.com/cloudflare/semver_bash) - Semantic Versioning in Bash 119 | * [shellcheck](https://github.com/koalaman/shellcheck) - Static analysis tool for shell scripts 120 | * [shipit](https://github.com/sapegin/shipit) - Minimalistic SSH deployment 121 | * [slap](https://github.com/slap-editor/slap) - Sublime-like terminal-based text editor that runs on Node.js 122 | * [spark](https://github.com/holman/spark) - ▁▂▃▅▂▇ in your shell 123 | * [spot](https://github.com/guille/spot) - Tiny file search utility 124 | * [sshrc](https://github.com/Russell91/sshrc) - bring your .bashrc, .vimrc, etc. with you when you ssh 125 | * [transfer.sh](https://transfer.sh/) — Quickly upload and share files from your shell 126 | * [v](https://github.com/rupa/v) - z for vim. 127 | * [wemux](https://github.com/zolrath/wemux) - Multi-User Tmux Made Easy 128 | * [z](https://github.com/rupa/z) - z is the new j, yo 129 | * [zsh-dwim](https://github.com/oknowton/zsh-dwim) - ZSH Do what I mean. 130 | * [zsh-notify](https://github.com/marzocchi/zsh-notify) - Desktop notifications for long running commands in zsh 131 | * [zshmarks](https://github.com/jocelynmallon/zshmarks) - A port of Bashmarks (simple bookmarking plugin by Todd Werth) for oh-my-zsh 132 | 133 | # Guides 134 | * [Bash Hackers Wiki](http://wiki.bash-hackers.org/) 135 | * [Greg Wooledge's (aka "greycat") wiki](http://mywiki.wooledge.org). 136 | Specifically [Bash Guide](http://mywiki.wooledge.org/BashGuide), [Bash FAQ](http://mywiki.wooledge.org/BashFAQ) and [Bash Pitfalls](http://mywiki.wooledge.org/BashPitfalls) 137 | * [Google's Shell Style Guide](https://google-styleguide.googlecode.com/svn/trunk/shell.xml) 138 | * [The Linux Documentation Project: Bash Programming - Intro/How-to](http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html#toc) 139 | * [The Linux Documentation Project: Advanced Bash Scripting Guide](http://www.tldp.org/LDP/abs/html/) 140 | * [WikiBooks: Bash Shell Scripting](http://en.wikibooks.org/wiki/Bash_Shell_Scripting) 141 | * [Use the Unofficial Bash Strict Mode (Unless You Looove Debugging)](http://redsymbol.net/articles/unofficial-bash-strict-mode/) 142 | 143 | # Other Awesome Lists 144 | Other amazingly awesome lists can be found in [awesome-awesome](https://github.com/emijrp/awesome-awesome) and [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness). 145 | 146 | --------------------------------------------------------------------------------