awesome-shell/README.md

201 lines
14 KiB
Markdown
Raw Normal View History

2015-03-31 09:56:14 -04:00
# 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).
2014-07-06 22:06:05 -04:00
- [Awesome Bash](#awesome-bash)
- [Downloading and Serving](#downloading-and-serving)
2014-07-06 22:11:14 -04:00
- [Customization](#customization)
- [Shell Package Management](#shell-package-management)
- [Shell Script Development](#shell-script-development)
- [Multimedia and File Formats](#multimedia-and-file-formats)
- [Applications](#applications)
2014-07-12 06:48:19 -04:00
- [Games](#games)
- [Command-Line Productivity](#command-line-productivity)
- [For Developers](#for-developers)
- [System Utilities](#system-utilities)
- [Zsh](#zsh)
2014-07-06 22:06:05 -04:00
- [Guides](#guides)
- [Other Awesome Lists](#other-awesome-lists)
2014-07-06 22:11:14 -04:00
## Downloading and Serving
2014-07-06 22:11:14 -04:00
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
* [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
2014-07-12 06:47:09 -04:00
* [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
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
* [ngincat](https://github.com/jaburns/ngincat) - Tiny Bash HTTP server using netcat
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
* [youtube-dl](https://github.com/rg3/youtube-dl) - Small command-line program to download videos from YouTube.com and other video sites
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-07-09 19:35:37 -04:00
* [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
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
* [git-prompt](https://github.com/lvv/git-prompt) - Bash prompt with Git, SVN and HG modules
2015-05-03 03:50:33 -04:00
* [gittify](https://github.com/momeni/gittify) - A colorful Bash prompt + customized Git aliases
2015-04-19 11:32:05 -04:00
* [Gogh - Color Scheme](https://github.com/Mayccoll/Elementary-OS-Terminal-Colors) - Color Scheme for Gnome Terminal
2014-07-07 19:14:24 -04:00
* [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
2014-07-07 19:14:24 -04:00
## Shell Package Management
2014-07-07 19:14:24 -04:00
*Tools for managing multiple shell configurations.*
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.
* [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-07-12 06:47:09 -04:00
* [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
2015-06-01 17:17:01 -04:00
* [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.
2014-07-07 19:14:24 -04:00
## Shell Script Development
2014-07-07 19:14:24 -04:00
*Tools for writing, improving, or organizing Bash or other shell scripts*
2014-07-07 19:14:24 -04:00
* [bashful](https://github.com/jmcantrell/bashful) - A collection of libraries to simplify writing Bash scripts
2014-07-07 19:14:24 -04:00
* [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
* [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.
2015-04-19 11:32:05 -04:00
## Multimedia and File Formats
2014-07-12 06:47:09 -04:00
*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
2014-10-02 12:22:14 -04:00
* [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
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
* [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
2014-07-12 06:47:09 -04:00
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
* [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
## Command-Line Productivity
2014-07-07 19:14:24 -04:00
*Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.*
2014-07-07 19:14:24 -04:00
* [ag](https://github.com/ggreer/the_silver_searcher) - Super fast string search through a directory hierarchy
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-07 19:14:24 -04:00
* [fasd](https://github.com/clvv/fasd) - Command-line productivity booster, offers quick access to files and directories
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
* [hstr](https://github.com/dvorka/hstr) - Bash History Suggest Box
* [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
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-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
* [sshfs](https://github.com/osxfuse/sshfs) - A tool for mounting remote file systems over SSH
* [sshrc](https://github.com/Russell91/sshrc) - Bring your .bashrc, .vimrc, etc. with you when you SSH
* [tmux](http://tmux.sourceforge.net/) - Amazing terminal multiplexer
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
* [xmlstarlet](http://xmlstar.sourceforge.net/) - Old but powerful tool for command-line XML formatting, filtering, and manipulation.
2014-07-12 20:06:17 -04:00
* [z](https://github.com/rupa/z) - z is the new j, yo
## For Developers
*Command-line development, version control, and deployment.*
* [cloc](http://cloc.sourceforge.net) - Count Lines of Code
* [dokku](https://github.com/progrium/dokku) - Docker powered mini-Heroku in around 100 lines of Bash
* [git-extra-commands](https://github.com/unixorn/git-extra-commands) - Many Git extra utilities. Churn, cut-branch, improved-merge and many more.
* [git-extras](https://github.com/visionmedia/git-extras) - Git utilities -- repo summary, repl, changelog population, author commit percentages and more
* [git-sh](https://github.com/rtomayko/git-sh) - A customized Bash environment suitable for Git work
* [mr](https://github.com/joeyh/myrepos) - Multiple Respository management tool
* [slap](https://github.com/slap-editor/slap) - Sublime-like terminal-based text editor that runs on Node.js
* [shipit](https://github.com/sapegin/shipit) - Minimalistic SSH deployment
## System Utilities
*System administration and system debugging.*
* [cv](https://github.com/Xfennec/cv) - Linux tool to show progress for cp, rm, dd, ...
* [lsp](https://github.com/dborzov/lsp) - An improved `ls`, with file descriptions in plain language and intelligent file grouping
* [ncdu](http://dev.yorhel.nl/ncdu) - NCurses Disk Usage
* [quick-secure](https://github.com/marshyski/quick-secure) - Quickly secure and harden UNIX/Linux systems
## Zsh
*Tools and customizations specifically for Zsh.*
* [awesome-zsh-plugins](https://github.com/unixorn/awesome-zsh-plugins) - A list of Zsh plugins usable with antigen, dotzsh, oh-my-zsh & prezto.
* [antigen](https://github.com/zsh-users/antigen) - A plugin manager for Zsh, inspired by oh-my-zsh and vundle
* [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.
* [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) - A community-driven framework for managing your Zsh configuration
* [pretty-time-zsh](https://github.com/sindresorhus/pretty-time-zsh) - Convert seconds to a human readable string: `165392``1d 21h 56m 32s`
* [powerline-zsh](https://github.com/carlcarl/powerline-zsh) - Powerline for Zsh
* [prezto](https://github.com/sorin-ionescu/prezto) - The configuration framework for Zsh
* [pure](https://github.com/sindresorhus/pure) - Pretty, minimal and fast Zsh prompt
* [zsh-autosuggestions](https://github.com/tarruda/zsh-autosuggestions) - Fish-like autosuggestions for Zsh
* [zsh-dwim](https://github.com/oknowton/zsh-dwim) - Zsh do what I mean.
* [zsh-git-prompt](https://github.com/olivierverdier/zsh-git-prompt) - Informative Git prompt 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-09 19:35:37 -04:00
* [zshmarks](https://github.com/jocelynmallon/zshmarks) - A port of Bashmarks (simple bookmarking plugin by Todd Werth) for oh-my-zsh
* [zsh-notify](https://github.com/marzocchi/zsh-notify) - Desktop notifications for long running commands in Zsh
* [zsh-prompt-powerline](https://github.com/Valodim/zsh-prompt-powerline) - A Zsh prompt based on the powerline font from the popular vim plugin
* [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting) - Fish shell like syntax highlighting for 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/)
* [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)
* [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
# 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).