A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.
Self-hosted, lightweight servers and networking tools written in shell scripts.
- balls - Bash on Balls
- bashblog - A Bash script that handles blog posting
- bashttpd - A web server written in bash
- bitpocket - "DIY Dropbox" or "2-way directory (r)sync with proper deletion"
- dokku - Docker powered mini-Heroku in around 100 lines of Bash
- Dropbox-Uploader - Dropbox Uploader is a BASH script which can be used to upload, download, list or delete files from Dropbox
- ngincat - Tiny bash HTTP server using netcat
- pushblast - Get PushBullet notifications when a shell program exits
- pushbullet-bash - Bash interface to the PushBullet API
- resty - Little command line REST client that you can use in pipelines
Custom prompts, color themes, etc.
- base16-shell - Base16 for Shells
- 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
- liquidprompt - A full-featured & carefully designed adaptive prompt for Bash & Zsh
- powerline-zsh - Powerline for Zsh
- pure - Pretty, minimal and fast ZSH prompt
- sexy-bash-prompt - Bash prompt with colors, git statuses, and git branches
- zsh-git-prompt - Informative git prompt for zsh
- zsh-prompt-powerline - A ZSH prompt based on the powerline font from the popular vim plugin
- zsh-syntax-highlighting - Fish shell like syntax highlighting for zsh
- zsh-history-substring-search - An implementation of the Fish shell's history search feature for zsh.
Tools for managing multiple shell configurations.
- antigen - A plugin manager for zsh, inspired by oh-my-zsh and vundle
- bash-it - A community bash framework
- bpkg - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg
- fresh - Keep your dotfiles fresh
- homeshick - git dotfile synchronizer written in bash
- oh-my-fish - Framework for managing your fish shell configuration inspired by Oh My ZSH
- oh-my-zsh - A community-driven framework for managing your zsh configuration
- prezto - The configuration framework for Zsh
- vcsh - config manager based on Git
Boilerplate-like templates and systems to jump-start whatever script you are writing.
- bashful - A collection of libraries to simplify writing bash scripts
- bats - Bash Automated Testing System
- composure - Compose, document, version and organize your shell functions
- dispatch - A command line argument parser in 50 lines of portable shell script.
- shpec - A shell testing framework
- sub - a delicious way to organize programs
- ts - a shell test script
Tools for handling video and audio files.
- Beets - Music library manager and MusicBrainz tagger
- PiCAST - PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device
All work and no play is a cruddy way to spend your day.
- bash2048 - Bash implementation of 2048 game
- minesweeper - Bash implementation of minesweeper
- sedtris - Tetris in sed
- sed-scripts - Arkanoid and Sokoban written using sed
Other various neat gizmos to make your terminal experience more enjoyable.
- Android-Kitchen - A text-based kitchen for Android ROM customization. Uses shell scripts and works with Cygwin/OS X/Linux
- ansiweather - Weather in your terminal, with ANSI colors and Unicode symbols
- autoenv - Directory-based environments
- autojump - A cd command that learns - easily navigate directories from the command line
- bash-slugify - Command that converts filenames and directories to a web friendly format
- bashmarks - Directory bookmarks for the shell
- cv - Linux tool to show progress for cp, rm, dd, ...
- fasd - Command-line productivity booster, offers quick access to files and directories
- geeknote - Command line evernote client
- git-extras - GIT utilities -- repo summary, repl, changelog population, author commit percentages and more
- git-sh - A customized bash environment suitable for git work
- hr -
<hr />
for your terminal - hstr - BASH History Suggest Box
- jrnl - A simple command line journal application that stores your journal in a plain text file
- ledger - Command line accounting
- lsp - An improved
ls
, with file descriptions in plain language and intelligent file grouping - mr - Multiple Respository management tool
- pretty-time-zsh - Convert seconds to a human readable string:
165392
→1d 21h 56m 32s
- semver_bash - Semantic Versioning in Bash
- shellcheck - Static analysis tool for shell scripts
- slap - Sublime-like terminal-based text editor that runs on Node.js
- spark - ▁▂▃▅▂▇ in your shell
- spot - Tiny file search utility
- sshrc - bring your .bashrc, .vimrc, etc. with you when you ssh
- transfer.sh — Quickly upload and share files from your shell
- v - z for vim.
- wemux - Multi-User Tmux Made Easy
- z - z is the new j, yo
- zsh-dwim - ZSH Do what I mean.
- zsh-notify - Desktop notifications for long running commands in zsh
- zshmarks - A port of Bashmarks (simple bookmarking plugin by Todd Werth) for oh-my-zsh
- 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)
Other amazingly awesome lists can be found in awesome-awesome and awesome-awesomeness.