2014-07-06 22:11:14 -04:00
# Awesome Shell
2014-10-10 09:57:23 -04:00
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 ).
2014-07-06 22:06:05 -04:00
- [Awesome Bash ](#awesome-bash )
- [Networking and Servers ](#networking-and-servers )
2014-07-06 22:11:14 -04:00
- [Customization ](#customization )
2014-07-07 19:14:24 -04:00
- [Package Management and Frameworks ](#package-management-and-frameworks )
2014-07-12 06:48:19 -04:00
- [Writing and Testing Scripts ](#writing-and-testing-scripts )
- [Multimedia ](#multimedia )
- [Games ](#games )
2014-09-01 10:08:45 -04:00
- [Utilities and Tools ](#utilities-and-tools )
2014-07-06 22:06:05 -04:00
- [Guides ](#guides )
2014-07-10 01:01:40 -04:00
- [Other Awesome Lists ](#other-awesome-lists )
2014-07-06 22:11:14 -04:00
## Networking and Servers
2014-07-07 19:14:24 -04:00
*Self-hosted, lightweight servers and networking tools written in shell scripts.*
2014-07-06 22:11:14 -04:00
2014-07-12 06:47:09 -04:00
* [balls ](https://github.com/jneen/balls ) - Bash on Balls
2014-07-09 19:35:37 -04:00
* [bashblog ](https://github.com/cfenollosa/bashblog ) - A Bash script that handles blog posting
2014-07-06 22:11:14 -04:00
* [bashttpd ](https://github.com/avleen/bashttpd ) - A web server written in bash
2014-09-07 16:10:13 -04:00
* [bitpocket ](https://github.com/sickill/bitpocket ) - "DIY Dropbox" or "2-way directory (r)sync with proper deletion"
2014-07-07 19:14:24 -04:00
* [dokku ](https://github.com/progrium/dokku ) - Docker powered mini-Heroku in around 100 lines of Bash
2014-07-12 20:06:17 -04:00
* [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
2015-01-01 10:14:47 -05:00
* [httpie ](https://github.com/jakubroztocil/httpie ) - HTTPie is a command line HTTP client, a user-friendly cURL replacement
2014-09-12 18:37:37 -04:00
* [ngincat ](https://github.com/jaburns/ngincat ) - Tiny bash HTTP server using netcat
2014-09-07 16:09:21 -04:00
* [pushblast ](https://github.com/alebcay/pushblast ) - Get PushBullet notifications when a shell program exits
2014-07-09 19:35:37 -04:00
* [pushbullet-bash ](https://github.com/Red5d/pushbullet-bash ) - Bash interface to the PushBullet API
2014-07-07 19:14:24 -04:00
* [resty ](https://github.com/micha/resty ) - Little command line REST client that you can use in pipelines
2014-07-06 22:11:14 -04:00
## Customization
2014-07-09 19:35:37 -04:00
*Custom prompts, color themes, etc.*
2014-07-06 22:11:14 -04:00
2014-10-07 16:47:55 -04:00
* [awesome-zsh-plugins ](https://github.com/unixorn/awesome-zsh-plugins ) - A list of zsh plugins usable with antigen, dotzsh, oh-my-zsh & prezto.
2014-07-09 19:35:37 -04:00
* [base16-shell ](https://github.com/chriskempson/base16-shell ) - Base16 for Shells
2014-07-12 06:47:09 -04:00
* [bash-git-prompt ](https://github.com/magicmonty/bash-git-prompt ) - An informative and fancy bash prompt for Git users
2014-07-09 19:35:37 -04:00
* [bash-powerline ](https://github.com/riobard/bash-powerline ) - Powerline-style Bash prompt in pure Bash script
2014-07-07 19:14:24 -04:00
* [bashstrap ](https://github.com/barryclark/bashstrap ) - A quick way to spruce up OSX terminal
2014-10-06 11:10:55 -04:00
* [flatui-terminal-theme ](https://dribbble.com/shots/1021755-Flat-UI-Terminal-Theme ) - Nicer colors for terminal
2014-10-21 22:26:58 -04:00
* [git-prompt ](https://github.com/lvv/git-prompt ) - bash prompt with GIT, SVN and HG modules
2014-07-07 19:14:24 -04:00
* [liquidprompt ](https://github.com/nojhan/liquidprompt ) - A full-featured & carefully designed adaptive prompt for Bash & Zsh
2014-07-09 19:35:37 -04:00
* [powerline-zsh ](https://github.com/carlcarl/powerline-zsh ) - Powerline for Zsh
2014-07-07 19:14:24 -04:00
* [pure ](https://github.com/sindresorhus/pure ) - Pretty, minimal and fast ZSH prompt
2014-09-20 22:44:37 -04:00
* [sexy-bash-prompt ](https://github.com/twolfson/sexy-bash-prompt ) - Bash prompt with colors, git statuses, and git branches
2014-10-07 06:03:16 -04:00
* [zsh-autosuggestions ](https://github.com/tarruda/zsh-autosuggestions ) - Fish-like autosuggestions for zsh
2014-07-09 19:35:37 -04:00
* [zsh-git-prompt ](https://github.com/olivierverdier/zsh-git-prompt ) - Informative git prompt for zsh
* [zsh-prompt-powerline ](https://github.com/Valodim/zsh-prompt-powerline ) - A ZSH prompt based on the powerline font from the popular vim plugin
2014-10-02 03:00:05 -04:00
* [zsh-syntax-highlighting ](https://github.com/zsh-users/zsh-syntax-highlighting ) - Fish shell like syntax highlighting for zsh
* [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.
2014-07-07 19:14:24 -04:00
## Package Management and Frameworks
*Tools for managing multiple shell configurations.*
* [antigen ](https://github.com/zsh-users/antigen ) - A plugin manager for zsh, inspired by oh-my-zsh and vundle
2014-10-27 03:56:05 -04:00
* [antigen-hs ](https://github.com/Tarrasch/antigen-hs ) - A replacement for antigen optimized for a low overhead when starting up the shell.
2014-07-07 19:14:24 -04:00
* [bash-it ](https://github.com/revans/bash-it ) - A community bash framework
2014-11-06 20:38:12 -05:00
* [basher ](https://github.com/basherpm/basher ) - A package manager for shell scripts
2014-09-11 17:02:21 -04:00
* [bpkg ](http://www.bpkg.io/ ) - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg
2014-10-07 10:53:03 -04:00
* [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.
2014-07-12 06:47:09 -04:00
* [fresh ](https://github.com/freshshell/fresh ) - Keep your dotfiles fresh
2014-07-09 19:35:37 -04:00
* [homeshick ](https://github.com/andsens/homeshick ) - git dotfile synchronizer written in bash
2014-07-07 19:14:24 -04:00
* [oh-my-fish ](https://github.com/bpinto/oh-my-fish ) - Framework for managing your fish shell configuration inspired by Oh My ZSH
2014-07-06 22:11:14 -04:00
* [oh-my-zsh ](https://github.com/robbyrussell/oh-my-zsh ) - A community-driven framework for managing your zsh configuration
2014-07-07 19:14:24 -04:00
* [prezto ](https://github.com/sorin-ionescu/prezto ) - The configuration framework for Zsh
* [vcsh ](https://github.com/RichiH/vcsh ) - config manager based on Git
## Writing and Testing Scripts
*Boilerplate-like templates and systems to jump-start whatever script you are writing.*
* [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
2014-07-09 10:54:09 -04:00
* [composure ](https://github.com/erichs/composure ) - Compose, document, version and organize your shell functions
2014-09-17 20:30:45 -04:00
* [dispatch ](https://github.com/Mosai/workshop/blob/master/doc/dispatch.md ) - A command line argument parser in 50 lines of portable shell script.
2014-10-02 12:18:29 -04:00
* [shpec ](https://github.com/rylnd/shpec ) - A shell testing framework
2014-07-07 19:14:24 -04:00
* [sub ](https://github.com/basecamp/sub ) - a delicious way to organize programs
2014-10-02 11:12:44 -04:00
* [ts ](https://github.com/thinkerbot/ts ) - a shell test script
2014-07-12 06:47:09 -04:00
## Multimedia
*Tools for handling video and audio files.*
2014-10-02 12:22:14 -04:00
* [Beets ](https://github.com/sampsyo/beets ) - Music library manager and MusicBrainz tagger
2014-07-12 06:47:09 -04:00
* [PiCAST ](https://github.com/lanceseidman/PiCAST ) - PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device
2014-07-09 19:35:37 -04:00
## 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
2014-09-22 09:46:18 -04:00
* [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
2014-09-23 16:12:11 -04:00
* [sed-scripts ](https://github.com/aureliojargas/sed-scripts ) - Arkanoid and Sokoban written using sed
2014-08-25 20:43:02 -04:00
2014-07-07 19:14:24 -04:00
## Utilities and Tools
*Other various neat gizmos to make your terminal experience more enjoyable.*
2015-02-24 00:00:02 -05:00
* [adb-export ](https://github.com/sromku/adb-export ) - Export Android content providers to CSV format
2014-07-12 06:47:09 -04:00
* [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
2014-07-07 19:14:24 -04:00
* [ansiweather ](https://github.com/fcambus/ansiweather ) - Weather in your terminal, with ANSI colors and Unicode symbols
2014-07-09 19:35:37 -04:00
* [autoenv ](https://github.com/kennethreitz/autoenv ) - Directory-based environments
2014-08-15 08:47:16 -04:00
* [autojump ](https://github.com/joelthelion/autojump ) - A cd command that learns - easily navigate directories from the command line
2014-07-09 19:35:37 -04:00
* [bash-slugify ](https://github.com/benlinton/bash-slugify ) - Command that converts filenames and directories to a web friendly format
2014-07-07 19:14:24 -04:00
* [bashmarks ](https://github.com/huyng/bashmarks ) - Directory bookmarks for the shell
2014-10-15 19:27:14 -04:00
* [byobu ](http://byobu.co/ ) - Text-based window manager and terminal multiplexer
2014-10-14 05:21:30 -04:00
* [commacd ](https://github.com/shyiko/commacd ) - A faster way to move around in Bash
2014-07-15 18:46:09 -04:00
* [cv ](https://github.com/Xfennec/cv ) - Linux tool to show progress for cp, rm, dd, ...
2014-07-07 19:14:24 -04:00
* [fasd ](https://github.com/clvv/fasd ) - Command-line productivity booster, offers quick access to files and directories
2014-10-02 12:22:14 -04:00
* [geeknote ](https://github.com/VitaliyRodnenko/geeknote ) - Command line evernote client
2014-09-20 22:44:37 -04:00
* [git-extras ](https://github.com/visionmedia/git-extras ) - GIT utilities -- repo summary, repl, changelog population, author commit percentages and more
2014-07-07 19:14:24 -04:00
* [git-sh ](https://github.com/rtomayko/git-sh ) - A customized bash environment suitable for git work
2014-10-05 23:13:39 -04:00
* [quick-secure ](https://github.com/marshyski/quick-secure ) - Quickly secure and harden UNIX/Linux systems
2014-11-18 13:10:39 -05:00
* [hhighlighter ](https://github.com/paoloantinori/hhighlighter ) - Colorize words in a command output
2014-07-09 19:35:37 -04:00
* [hr ](https://github.com/LuRsT/hr ) - `<hr />` for your terminal
2014-07-19 09:32:37 -04:00
* [hstr ](https://github.com/dvorka/hstr ) - BASH History Suggest Box
2015-03-24 16:04:52 -04:00
* [jq] (https://github.com/stedolan/jq) - Sed for json data. You can use it to slice and filter and map and transform structured data
2014-07-07 19:14:24 -04:00
* [jrnl ](https://github.com/maebert/jrnl ) - A simple command line journal application that stores your journal in a plain text file
2014-10-10 07:51:42 -04:00
* [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
2014-10-02 05:48:38 -04:00
* [ledger ](https://github.com/ledger/ledger ) - Command line accounting
2014-10-02 08:36:01 -04:00
* [lsp ](https://github.com/dborzov/lsp ) - An improved `ls` , with file descriptions in plain language and intelligent file grouping
2014-10-02 12:24:23 -04:00
* [mr ](https://github.com/joeyh/myrepos ) - Multiple Respository management tool
2015-02-23 00:10:26 -05:00
* [ncdu ](http://dev.yorhel.nl/ncdu ) - NCurses Disk Usage
2015-03-31 11:14:11 -04:00
* [parallel ](http://www.gnu.org/software/parallel ) - Build and execute shell command lines from standard input in parallel
2014-10-10 07:40:30 -04:00
* [percol ](https://github.com/mooz/percol ) - Adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
2014-09-30 16:33:06 -04:00
* [pretty-time-zsh ](https://github.com/sindresorhus/pretty-time-zsh ) - Convert seconds to a human readable string: `165392` → `1d 21h 56m 32s`
2014-10-28 21:42:46 -04:00
* [rerun ](https://github.com/rerun/rerun ) - A modular shell automation framework to organize your keeper scripts
2014-10-07 10:43:07 -04:00
* [sejda ](https://github.com/torakiki/sejda/ ) - Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc)
2014-07-07 19:14:24 -04:00
* [semver_bash ](https://github.com/cloudflare/semver_bash ) - Semantic Versioning in Bash
2014-07-29 09:35:26 -04:00
* [shellcheck ](https://github.com/koalaman/shellcheck ) - Static analysis tool for shell scripts
2014-10-10 04:57:52 -04:00
* [shipit ](https://github.com/sapegin/shipit ) - Minimalistic SSH deployment
2014-09-30 10:08:50 -04:00
* [slap ](https://github.com/slap-editor/slap ) - Sublime-like terminal-based text editor that runs on Node.js
2014-07-09 19:35:37 -04:00
* [spark ](https://github.com/holman/spark ) - ▁▂▃▅▂▇ in your shell
2014-07-12 06:47:09 -04:00
* [spot ](https://github.com/guille/spot ) - Tiny file search utility
2014-10-01 17:11:04 -04:00
* [sshrc ](https://github.com/Russell91/sshrc ) - bring your .bashrc, .vimrc, etc. with you when you ssh
2014-10-24 06:03:43 -04:00
* [tmux ](http://tmux.sourceforge.net/ ) - amazing terminal multiplexer
2014-10-04 03:51:59 -04:00
* [transfer.sh ](https://transfer.sh/ ) — Quickly upload and share files from your shell
2014-09-30 16:38:43 -04:00
* [v ](https://github.com/rupa/v ) - z for vim.
2014-07-07 19:14:24 -04:00
* [wemux ](https://github.com/zolrath/wemux ) - Multi-User Tmux Made Easy
2014-07-12 20:06:17 -04:00
* [z ](https://github.com/rupa/z ) - z is the new j, yo
2014-10-05 15:46:05 -04:00
* [zsh-dwim ](https://github.com/oknowton/zsh-dwim ) - ZSH Do what I mean.
2014-07-09 19:35:37 -04:00
* [zsh-notify ](https://github.com/marzocchi/zsh-notify ) - Desktop notifications for long running commands in zsh
* [zshmarks ](https://github.com/jocelynmallon/zshmarks ) - A port of Bashmarks (simple bookmarking plugin by Todd Werth) for oh-my-zsh
2014-07-07 19:14:24 -04:00
2014-08-15 08:47:16 -04:00
# Guides
2014-09-30 16:38:43 -04:00
* [Bash Hackers Wiki ](http://wiki.bash-hackers.org/ )
2014-08-28 04:56:35 -04:00
* [Greg Wooledge's (aka "greycat") wiki ](http://mywiki.wooledge.org ).
Specifically [Bash Guide ](http://mywiki.wooledge.org/BashGuide ), [Bash FAQ ](http://mywiki.wooledge.org/BashFAQ ) and [Bash Pitfalls ](http://mywiki.wooledge.org/BashPitfalls )
2014-09-30 16:38:43 -04:00
* [Google's Shell Style Guide ](https://google-styleguide.googlecode.com/svn/trunk/shell.xml )
2014-08-15 08:47:16 -04:00
* [The Linux Documentation Project: Bash Programming - Intro/How-to ](http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html#toc )
2014-08-15 08:56:26 -04:00
* [The Linux Documentation Project: Advanced Bash Scripting Guide ](http://www.tldp.org/LDP/abs/html/ )
* [WikiBooks: Bash Shell Scripting ](http://en.wikibooks.org/wiki/Bash_Shell_Scripting )
2014-09-29 12:15:31 -04:00
* [Use the Unofficial Bash Strict Mode (Unless You Looove Debugging) ](http://redsymbol.net/articles/unofficial-bash-strict-mode/ )
2014-08-15 08:47:16 -04:00
2014-07-10 01:01:40 -04:00
# Other Awesome Lists
2014-07-14 11:19:31 -04:00
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 ).
2014-07-10 01:01:40 -04:00