█████╗ ██╗ ██╗███████╗███████╗ ██████╗ ███╗ ███╗███████╗
██╔══██╗██║ ██║██╔════╝██╔════╝██╔═══██╗████╗ ████║██╔════╝
███████║██║ █╗ ██║█████╗ ███████╗██║ ██║██╔████╔██║█████╗
██╔══██║██║███╗██║██╔══╝ ╚════██║██║ ██║██║╚██╔╝██║██╔══╝
██║ ██║╚███╔███╔╝███████╗███████║╚██████╔╝██║ ╚═╝ ██║███████╗
╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝
███████╗██╗ ██╗███████╗██╗ ██╗
██╔════╝██║ ██║██╔════╝██║ ██║
███████╗███████║█████╗ ██║ ██║
╚════██║██╔══██║██╔══╝ ██║ ██║
███████║██║ ██║███████╗███████╗███████╗
╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
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.
- Shells
- Command-Line Productivity
- Customization
- For Developers
- System Utilities
- Downloading and Serving
- Multimedia and File Formats
- Applications
- Games
- Shell Package Management
- Shell Script Development
- Guides
- Awesome Zsh
- Awesome Fish
- Awesome Bash
- Other Awesome Lists
Choose your base shell.
- 🌎 bash - GNU Project's shell (Bourne Again SHell)
- 🌎 elvish - Friendly, expressive shell features like anonymous functions and data structures
- 🌎 es - The extensible shell, based on Plan 9's
317⭐37🍴rc) shell - 🌎 fish - Smart and user-friendly command line shell
1640⭐142🍴ion) - A modern system shell that features a simple, yet powerful, syntax. It is written entirely in Rust.604⭐173🍴ksh93) - Korn Shell235⭐43🍴mksh) - MirBSD Korn Shell1871⭐38🍴murex) - A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)1518⭐49🍴ngs) - Fully featured scripting language created specifically for Ops. REPL is being developed.39081⭐2105🍴nushell) - A modern shell written in Rust432⭐46🍴oksh) - Portable OpenBSD ksh- 🌎 osh - Bash compatible, with new/modern Unix shell language called Oil
- 🌎 pdksh - Public domain Korn shell
- 🌎 powershell a cross-platform task automation and configuration management framework, consisting of a command-line shell and scripting language
172⭐10🍴shell++) - Friendly and modern functional and object oriented shell script language48⭐3🍴shenv) - Simple shell version management- 🌎 tcsh - C shell with file name completion and command line editing
- 🌎 xonsh - Python-ish, BASHwards-looking shell language and command prompt
523⭐44🍴yash) - A POSIX-compliant command line shell with built-in support for completion and prediction based on command history- 🌎 zsh - Powerful shell with scripting language
Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.
292⭐8🍴AdvancedNewFile) - Fast creation of files and directories in a recursive way. Inspired by the Vim plugin.27107⭐1439🍴ag) - Super fast string search through a directory hierarchy623⭐36🍴aliases) - Contextual, dynamic, organized aliases for bash1317⭐24🍴arttime) - Beauty of text art meets functionality of clock, timer, pomodoro++ time manager6026⭐268🍴autoenv) - Directory-based environments.255⭐9🍴await) - single binary that run list of commands in parallel and waits for their termination827⭐44🍴bartib) - A simple timetracker for the command line. It saves a log of all tracked activities as a plaintext file and allows you to create flexible reports.1302⭐87🍴bashhub) - ☁️ Bash history in the cloud. Indexed and searchable.1759⭐117🍴boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates.1319⭐116🍴boom) - Store links and snippets in the command line1610⭐56🍴borg) - A terminal based search engine for bash commands12610⭐286🍴broot) - A better way to navigate directories18742⭐470🍴browsh) - The modern text-based browser7109⭐315🍴Buku) - Powerful command-line bookmark manager- 🌎 byobu - Text-based window manager and terminal multiplexer
546⭐22🍴cod) — A completion daemon for shell that learns when you invoke--helpcommands84⭐8🍴CloudClip) - Your own clipboard in the cloud, copy and paste text with gist between different systems3289⭐158🍴ddgr) - DuckDuckGo from the terminal2570⭐112🍴desk) - A lightweight workspace manager for the shell14976⭐777🍴direnv) - An environment switcher for the shell, compare with autoenv3026⭐122🍴dnote) - A simple command line notebook with multi-device sync and web interface?⭐?🍴eureka) - 💡 CLI tool to input and store your ideas without leaving the terminal5915⭐235🍴fasd) - Command-line productivity booster, offers quick access to files and directories42610⭐1041🍴fd) - A simple, fast and user-friendly alternative to find.45⭐3🍴foxy) - Plain text bookmarks for Firefox and surf browsers.4419⭐90🍴fselect) - Find files with SQL-like queries.669⭐19🍴funky) - Extends functionality of shell functions making them more powerful and flexible.571⭐29🍴fz) - Seamless fuzzy tab completion for z79637⭐2785🍴fzf) - A command-line fuzzy finder777⭐27🍴gitmux) - Show Git status in Tmux status bar6190⭐534🍴googler) - Google Search, Google Site Search, Google News from the terminal50⭐5🍴googlr) - Command line tool that lets you search Google from your terminal.806⭐58🍴has) -hashelps you check presence of various command line tools and their versions on path5777⭐154🍴how2) -how2finds the simplest way to do something in a unix shell. It's likeman, but you can query it in natural language.17036⭐547🍴navi) - An interactive cheatsheet tool for the command-line493⭐58🍴hhighlighter) - Colorize words in a command output1300⭐62🍴hr) -<hr />for your terminal379⭐24🍴hss) - An interactive parallel ssh client featuring autocomplete and asynchronous execution4444⭐238🍴hstr) - Bash History Suggest Box1814⭐127🍴k) - k is a Zsh script to make directory listings more readable, adding Git status, fileweight colors and rotting dates25⭐5🍴k alias) - get kool aliases (and more) working with a simple one-liner9220⭐366🍴lf) - Terminal file manager written in Go, inspired by ranger44⭐3🍴lf.sh) - Quickly search files with fewer typings and do many more (grepping, copying path to clipboard, etc)248⭐5🍴lowcharts) - Draw low-resolution graphs in terminal- 🌎 Lmod - Lua-based Environment Modules that enhances Tcl-based modules while being backward compatible (compare to modules)
692⭐27🍴loop) - Write and control complex loops with as one-liners2089⭐107🍴marker) - Bookmark your shell commands?⭐?🍴mackup) - Keep your application settings in sync (OS X/Linux)7696⭐197🍴mcfly) - Fly through your shell history. Great Scot!- modules - Classical Tcl-based Environment Modules managing the shell environment (compare to Lmod, direnv, and autoenv)
21496⭐803🍴nnn) - File browser and disk usage analyzer with excellent desktop integration102⭐7🍴ok-sh) - Do you work on many different projects? And in each project, are there commands you use that are specific to that project? You need a .ok file.- 🌎 parallel - Build and execute shell command lines from standard input in parallel
- 🌎 pass - Manage passwords from the command line with GPG encryption and optional git integration.
5224⭐280🍴pathpicker) - Accepts inputs like grep, searches, git etc; allows selecting files from the result of the input, which you can then open or provide as argument to a command.405⭐20🍴pdd) - Tiny date, time diff calculator with timers3329⭐144🍴percol) - Adds flavor of interactive filtering to the traditional pipe concept of UNIX shell70⭐7🍴q) - Vim like macro registers for your Bash and Zsh Shell582⭐22🍴qfc) - File-completion widget for Bash and Zsh1051⭐21🍴resh) - Contextual shell history for Zsh and Bash62679⭐2503🍴rg) - ripgrep is a line oriented search tool that combines the usability of The Silver Searcher with the raw speed of GNU grep- 🌎 screen - GNU terminal multiplexer
114⭐0🍴shell-history) - Visualize your shell usage with Highcharts453⭐14🍴SHML) - Style framework for the terminal (Shell Markup Language)317⭐31🍴slugify) - Command that converts filenames and directories to a web friendly format302⭐22🍴sman) - 🐛 A command-line snippet manager6059⭐288🍴spark) - ▁▂▃▅▂▇ in your shell375⭐6🍴spark.fish) - ▁▂▃▅ Sparkline Generator270⭐11🍴sheet) - Text snippets for the command line955⭐41🍴spot) - Tiny file search utility
85⭐5🍴snips) - Command line tool to manage snippets of code.
656⭐150🍴sqlline) - Shell for issuing SQL to relational databases via JDBC (multiline, completion, highlighting, dialect support)1204⭐127🍴sshfs) - A tool for mounting remote file systems over SSH162⭐21🍴sudocabulary) - Learn English Vocabulary from your terminal- 🌎 surfraw - browse specific site and search the web from your terminal without browser.
23⭐2🍴task-manager) - Execute all your scripts with just two or three keystrokes.212⭐11🍴td-cli) - A todo command line manager to organize and manage your todos across multiple projects.1797⭐38🍴tere) - A faster alternative to cd + ls96610⭐3924🍴thefuck) - Fix common shell mistakes by using an easy to remember command737⭐49🍴tldr) - A fully-functional bash client for tldr, simplified and community-driven man pages- 🌎 tmux - Amazing terminal multiplexer
201⭐5🍴undollar) - undollar bites the dollar sign off the tip of the command you just pasted into your terminal9922⭐387🍴usql) - Universal command-line interface for SQL databases.462⭐40🍴v) - z for vim.3672⭐142🍴wemux) - Multi-User Tmux Made Easy3756⭐207🍴xiki) - Makes the shell console more friendly and powerful4736⭐90🍴xplr) - A hackable, minimal, fast TUI file explorer10756⭐329🍴xsv) - a fast CSV command line toolkit written in Rust5976⭐118🍴xxh) - Bring your favorite shell wherever you go through the SSH.
122⭐10🍴aliasme) - alias helper to change directory quickly16900⭐709🍴autojump) - A cd command that learns - easily navigate directories from the command line1964⭐293🍴bashmarks) - Directory bookmarks for the shell928⭐67🍴bd) - Quickly go back to a parent directory371⭐21🍴commacd) - A faster way to move around in Bash2693⭐112🍴enhancd) - 🚀 A next-generation cd command with an interactive filter903⭐64🍴goto) - A shell utility for navigation to aliased directories supporting auto-completion1919⭐60🍴jump) - Jump helps you navigate your file system faster by learning your habits.24⭐1🍴lazy-cd) - Simple bash commands for bookmarked navigation of the file system, complete with bash-completion.183⭐10🍴up) - Ascend directories by name or count; for bash, zsh, and fish.16978⭐1179🍴z) - z is the new j, yo3131⭐145🍴z.lua) - A new cd command that helps you navigate faster by learning your habits35817⭐798🍴zoxide) - A faster way to navigate your filesystem, written in Rust113⭐5🍴zpyi) - Python in Zsh - Easy python scripting in shell
Custom prompts, color themes, etc.
172⭐32🍴aphrodite-terminal-theme) — Minimalistic Aphrodite theme (prompt) for sexy terminals that works in bash, fish and zsh454⭐41🍴base16-builder) - Base16-Builder196⭐43🍴bash-full-of-colors) - Powerful prompt with screen, tmux, git support and many more6911⭐995🍴bash-git-prompt) - An informative and fancy Bash prompt for Git users907⭐168🍴bash-powerline) - Powerline-style Bash prompt in pure Bash script1560⭐121🍴bashstrap) - A quick way to spruce up OSX terminal2847⭐376🍴bullet-train-oh-my-zsh-theme) - 🚄 An oh-my-zsh shell theme based on the Powerline Vim plugin1585⭐69🍴emojify) Emoji on the command line 😱- 🌎 flatui-terminal-theme - Nicer colors for terminal
988⭐94🍴geometry) - A minimal ZSH theme where any function can be added to the left prompt or (async) right prompt on the fly.328⭐97🍴git-prompt) - Bash prompt with Git, SVN and HG modules79⭐6🍴gittify) - A colorful Bash prompt + customized Git aliases10203⭐630🍴Gogh - Color Scheme) - Color Scheme for Gnome Terminal4645⭐420🍴liquidprompt) - A full-featured & carefully designed adaptive prompt for Bash & Zsh107⭐10🍴mysql-colorize) - Colorization for mysql comand-line client3710⭐280🍴oh-my-git) - An opinionated git prompt for bash and zsh- 🌎 oh-my-posh - Prompt theme engine for any shell and platform written in go.
193⭐15🍴polyglot) - An informative Git prompt that works in bash, zsh, ksh, mksh, pdksh, oksh, dash, yash, busybox sh, and osh53830⭐2406🍴powerlevel10k) - Super flexible awesome powerline ZSH theme1153⭐152🍴sexy-bash-prompt) - Bash prompt with colors, Git statuses, and Git branches- 🌎 starship - Fast, customisable, cross-shell prompt written in rust
1130⭐239🍴synth-shell) - Greeter with a customizable status report and a fancy bash prompt
Command-line development, version control, and deployment.
- 🌎 1Password SSH Agent - Authenticate Git and SSH workflows with biometric unlock using 1Password
- 🌎 ack - A grep-like search tool optimized for source code.
718⭐16🍴add-gitignore) - Interactive CLI that generates a .gitignore for your project based on your needs.688⭐41🍴bcal) - Byte CALculator for storage conversions and calculations713⭐30🍴bitwise) - Terminal based interactive bit manipulator in curses.12638⭐757🍴bocker) - Docker implemented in 100 lines of bash22916⭐1104🍴cloc) - Count Lines of Code47⭐3🍴doclt) - A command line interface to Digital Ocean31874⭐2028🍴dokku) - Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen.4966⭐156🍴forgit) - Utility tool forgittaking advantage of fuzzy finder fzf.1146⭐94🍴git-extra-commands) - Many Git extra utilities. Churn, cut-branch, improved-merge and many more.18026⭐1220🍴git-extras) - Git utilities -- repo summary, repl, changelog population, author commit percentages and more3424⭐261🍴git-open) - Typegit opento open the GitHub page or website for a repository in your browser6965⭐280🍴git-quick-stats) - Git quick statistics is a simple and efficient way to access various statistics in git repository.394⭐45🍴git-semver) - Git plugin for easing semantic versioning and changelog validation747⭐86🍴git-sh) - A customized Bash environment suitable for Git work1847⭐87🍴gita) - A command-line tool to manage multiple git repos.22941⭐2217🍴hub) - hub helps you win at git.32989⭐769🍴just) - Task runner for saving and running project-specific commands.22⭐2🍴licins) - Insert commented software licenses into source code.381⭐22🍴mkdkr) - Makefile + Docker = CI Pipeline- 🌎 mr - Multiple Repository management tool
712⭐13🍴nve) - Run any command on specific Node.js versions.3997⭐281🍴overcommit) - A fully configurable and extendable Git hook manager- 🌎 pre-commit - A framework for managing and maintaining multi-language pre-commit hooks
4125⭐384🍴rebound) - Instantly browse Stack Overflow results in your terminal when you get a compiler error371⭐39🍴repren) - Command-line search-and-replace and file-renaming swiss army knife6184⭐221🍴slap) - Sublime-like terminal-based text editor that runs on Node.js567⭐37🍴shipit) - Minimalistic SSH deployment155⭐6🍴starring) - Automatically star the npm-packages that you are using on GitHub.611⭐30🍴tag) - Instantly jump to your ag matches.- 🌎 trunk - Blazingly fast meta code checker and formatter
65⭐13🍴vmn) - git-based automatic versioning and state recovery solution agnostic to language or architecture356⭐6🍴wipe-modules) - A little agent that removes the node_modules folder of non-active projects
OS-related tools, including system administration, system debugging, and file and process management.
- 🌎 atop - ASCII full-screen performance monitor that is capable of reporting the activity of all processes
58375⭐1532🍴bat) - Acatclone with wings1365⭐109🍴bmon) - Real-time network bandwidth monitor and rate estimator with human-friendly visual output31726⭐983🍴btop) - Linux/OSX/FreeBSD resource monitor198⭐18🍴catcli) - The command line catalog tool for your offline data3205⭐123🍴ccat) - ccat is the colorizing cat. It works similar to cat but displays content with syntax highlighting.24420⭐658🍴exa) - A modern version ofls.8831⭐313🍴progress) - Linux tool to show progress forcp,rm,dd, and more...1177⭐262🍴stronghold) - Easily configure MacOS security settings from the terminal.32296⭐1724🍴glances) - Glances an Eye on your system20436⭐1173🍴goaccess) - GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems.1935⭐111🍴hblock) - Hosts-file based adblocker99⭐18🍴histstat) - History for netstat5932⭐576🍴htop) - A ncurses based interactive process viewer which aims to be a bettertop- 🌎 lnav - An advanced log file viewer for the small-scale
158⭐23🍴logdissect) - CLI utility and Python API for analyzing log files and other data.513⭐47🍴ls++) - Colorized ls on steroids15903⭐498🍴lsd) - LSDeluxe, rewrite of GNU ls with lot of added features like colors, icons, tree-view and more formatting options.531⭐12🍴lsp) - An improvedls, with file descriptions in plain language and intelligent file grouping1866⭐71🍴maza) - Local ad blocker. Like Pi-hole but local and using your operating system.3207⭐367🍴mtr) - The functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.- 🌎 ncdu - NCurses Disk Usage
488⭐203🍴nmtui) - Text User Interface for controlling NetworkManager1294⭐140🍴powertop) - Battery/Power usage and device stats monitoring command-line tool, with tune-up options.1270⭐77🍴prettyping) - Making the output ofpingprettier, more colorful, more compact, and easier to read.78⭐7🍴procdog) - Lightweight command-line control of long-lived processes like servers426⭐50🍴quick-secure) - Quickly secure and harden UNIX/Linux systems34⭐1🍴rng) - Copy range of lines from file or stdin to stdout.2031⭐79🍴tiptop) - Graphical command-line system monitor.76⭐7🍴wifi-wand) - a Ruby command line application for managing WiFi on MacOS (install bygem install wifi-wand)1154⭐47🍴xiringuito) - SSH-based "VPN for poors"
Self-hosted, lightweight servers and networking tools written in shell scripts.
40673⭐3843🍴aria2) - aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, BitTorrent and Metalink869⭐37🍴balls) - Bash on Balls1551⭐202🍴bashttpd) - A web server written in Bash317⭐25🍴bashhub-server) - Private cloud shell history. Open source server for bashhub1034⭐78🍴bitpocket) - "DIY Dropbox" or "2-way directory (r)sync with proper deletion"6612⭐1057🍴Dropbox-Uploader) - Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox37954⭐3911🍴httpie) - HTTPie is a command line HTTP client, a user-friendly cURL replacement4174⭐123🍴HTTPLab) - The interactive web server, let you inspect HTTP requests and forge responses.623⭐33🍴Kapow!) - If you can script it, you can HTTP it.183⭐11🍴ngincat) - Tiny Bash HTTP server using netcat2654⭐141🍴resty) - Little command line REST client that you can use in pipelines1484⭐145🍴shell2http) - HTTP-server to execute shell commands. Designed for development, prototyping or remote control140⭐13🍴tshare) - File sharing from commandline.212⭐8🍴vesper) - 🍸Vesper is a HTTP framework for Bash/Unix Shell7749⭐124🍴xh) - Friendly and fast tool for sending HTTP requests157730⭐13014🍴yt-dlp) - Command-line program to download videos from YouTube.com and other video sites
Tools for handling video and audio files.
116⭐15🍴adb-export) - Export Android content providers to CSV format1069⭐588🍴Android-Kitchen) - A text-based kitchen for Android ROM customization. Uses shell scripts and works with Cygwin/OS X/Linux15002⭐2005🍴Beets) - Music library manager and MusicBrainz tagger6113⭐512🍴cmus) - Cross-platform cli audio player.7915⭐166🍴dasel) - Query and update data structures using selectors from the command line. Comparable to34487⭐1769🍴jq) /2926⭐84🍴yq) but supports JSON, YAML, TOML and XML with zero runtime dependencies.251⭐20🍴dzr) - Cross-platform Deezer.com audio player.20417⭐479🍴fx) - Command-line JSON processing tool by anononymus JavaScript functions566⭐30🍴gifgen) - Simple high quality GIF encoding778⭐103🍴image-scraper) - A cool command line image scraper with a lot of features.1088⭐54🍴imgp) - Blazing fast batch image resizer and rotator8580⭐239🍴jc) - Convert command output, file-types, and common strings to JSON or YAML for easier use in scripts.4871⭐160🍴jo) - A small utility to create JSON objects from command-line arguments.34487⭐1769🍴jq) - Sed for json data. You can use it to slice and filter and map and transform structured data384⭐14🍴korkut) - Quick and simple image processing at the command line.476⭐14🍴library) - Create SQLITE databases for folders of music, video, images, or online media. Play and track media like Plex but a CLI-only interface with many sorting options.- 🌎 mpv - Lets you play most audio and video formats (using ASCII characters) in the shell as well as in a GUI.
86⭐7🍴nehm) - Console tool, which downloads, sets IDv3 tags and adds to your iTunes (if you use it) your SoundCloud likes in convenient way1797⭐264🍴PiCAST) - PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device?⭐?🍴sejda) - Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc)9031⭐343🍴visidata) - A terminal spreadsheet multitool for exploring and arranging data (csv/json/xml/xls/yaml/etc)?⭐?🍴xidel) - Cli tool to filter, map and create HTML/XML/JSON data with (Turing-complete) XPath and XQuery.- xmlstarlet - Old but powerful tool for command-line XML formatting, filtering, and manipulation.
15258⭐762🍴yq) - yq is a portable command-line YAML processor
Command line-based applications or command line access to existing services.
1939⭐145🍴ansiweather) - Weather in your terminal, with ANSI colors and Unicode symbols4974⭐258🍴awless) - A powerful, innovative and small surface CLI to manage AWS.1769⭐238🍴bashblog) - A Bash script that handles blog posting6012⭐126🍴carbon-now-cli) - 🎨 Beautiful images of your code — from right inside your terminal.78⭐3🍴choosealicense-cli) - Choose an OSS license from the comfort of your terminal4387⭐354🍴cointop) - The fastest and most interactive terminal based UI application for tracking cryptocurrencies1157⭐64🍴dstask) - Single binary terminal-based TODO manager with git-based sync + markdown notes per task5381⭐367🍴editly) - Command line video editor400⭐36🍴facebook-cli) - Facebook command line tool1536⭐145🍴fanyi) - Translate English to Chinese in terminal3694⭐334🍴gcalcli) - Google Calendar command line interface2095⭐328🍴geeknote) - Command line evernote client4089⭐167🍴haxor-news) - Browse Hacker News like a haxor468⭐18🍴hn-cli) - Browse Hacker News from the comfort of your Terminal332⭐23🍴iponmap) - Draw point on world map using ip address68⭐2🍴isitup) - Check whether a website is up or down7210⭐548🍴jrnl) - A simple command line journal application that stores your journal in a plain text file941⭐61🍴kanban.bash) - commandline asciii kanban board for minimalist productivity bash hackers (csv-based)5912⭐538🍴ledger) - Command line accounting39⭐4🍴licen) - Generate your license. Yet another lice, but implement with Jinja2 and docopt38⭐1🍴md2png) - Convert markdown to PNG image226⭐20🍴moviemon) - Everything about your movies within the command line.710⭐24🍴nomino) - Batch rename utility using regex, sort and map file options.591⭐26🍴pcalc) - Calculator made for programmers working with multiple number representations, sizes, and overall close to the bits.501⭐34🍴pockyt) - Read, Manage, and Automate your 🌎 Pocket collection.99⭐8🍴pushblast) - Get PushBullet notifications when a shell program exits236⭐42🍴pushbullet-bash) - Bash interface to the PushBullet API17139⭐927🍴ranger) - A console file manager with VI key bindings.4641⭐281🍴Reddit Terminal Viewer) - Browse Reddit from your terminal5306⭐281🍴SAWS) - A Supercharged AWS CLI9306⭐394🍴taskbook) - Tasks, boards & notes for the command-line habitat- 🌎 taskwarrior - A command-line TODO list manager
902⭐35🍴terjira) - Command line power tool for Jira6053⭐327🍴ticker) — Terminal stock ticker with live updates and position tracking29⭐3🍴vl) - URL link checker on text documents8426⭐504🍴wego) - Weather app for the terminal392⭐19🍴whales) - A tool to automatically dockerize your applications172⭐11🍴whereami) - Get your geolocation information from the CLI29383⭐1226🍴wttr.in) - ⛅ The right way to check the weather (curl wttr.in)
All work and no play is a cruddy way to spend your day.
911⭐201🍴bash2048) - Bash implementation of 2048 game67⭐27🍴minesweeper) - Bash implementation of minesweeper371⭐67🍴nudoku) - ncurses based sudoku game written in C745⭐36🍴piu-piu) - Horizontal scroller game in bash with multiplayer mode!567⭐43🍴sedtris) - Tetris in sed45⭐5🍴sed-scripts) - Arkanoid and Sokoban written using sed- 🌎 SHTAP - Reusable text adventure engine for Bash 4
343⭐37🍴tty-solitaire) - Play solitaire in your terminal!
Tools for managing multiple shell configurations. For zsh-specific tools, see the Zsh section.
15029⭐2308🍴bash-it) - A community Bash framework1279⭐78🍴basher) - A package manager for shell scripts83⭐9🍴bashing) - Smashing Bash into Pieces- 🌎 bpkg - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg
1907⭐109🍴dotdrop) - Save your dotfiles once, deploy them everywhere250⭐32🍴dotfiler) – Shell agnostic git based dotfiles package manager, written in Python.1218⭐86🍴fresh) - Keep your dotfiles fresh2187⭐149🍴homeshick) - Git dotfile synchronizer written in Bash1320⭐265🍴shallow-backup) - Easily create lightweight documentation of installed packages, dotfiles, and more84⭐4🍴shundle) - Plugin manager for shell scripts2256⭐127🍴vcsh) - Config manager based on Git- 🌎 yadm - Git-based dotfiles manager supporting encryption, alternates, and bootstrapping
Tools for writing, improving, or organizing Bash or other shell scripts
805⭐59🍴ansi) - ANSI escape codes in pure bash - change text color, position the cursor, much more492⭐56🍴assert.sh) - Bash unit testing framework292⭐23🍴bashew) - bash script creator - from small stand-alone script to complex projects with CI/CD and testing620⭐65🍴bashful) - A collection of libraries to simplify writing Bash scripts81⭐3🍴Bashlets) - A modular extensible toolbox for Bash- 🌎 bashly - Bash command line framework and CLI generator
101⭐11🍴bashmanager) - mini bash framework for creating command line tools34⭐4🍴bashwithnails) - a Bash framework written just for fun with testing, dependency management & packaging2675⭐143🍴bash-language-server) - 🌎 LSP-based Bash language server149⭐15🍴bash-modules) - functions for developing with unofficial strict mode enabled.5989⭐478🍴bats) - Bash Automated Testing System344⭐29🍴composure) - Compose, document, version and organize your shell functions69⭐4🍴crash) - Proper error handling, exceptions and try/catch for ZSH456⭐11🍴critic.sh) - Dead simple testing framework for Bash with coverage reporting87⭐4🍴dispatch) - A command line argument parser in 50 lines of portable shell script.235⭐18🍴esh) - A simple templating engine based on shell, implemented in ~290 lines of POSIX shell and awk.379⭐20🍴Fishtape) - TAP producer and test harness for fish510⭐32🍴getoptions) - An elegant option parser for shell scripts (sh, bash and all POSIX shells)236⭐6🍴getopts.fish) - CLI parser for fish174⭐11🍴is.sh) - An alternative for builtin test command, it will make your "if" statements pretty46⭐3🍴lumberjack) - A logging interface for shell scripts602⭐69🍴mo) - Mustache templates in pure bash164⭐31🍴optparse) - A BASH wrapper for getopts, for simple command line arguments.462⭐60🍴rerun) - A modular shell automation framework to organize your keeper scripts160⭐23🍴revolver) - A reusable progress spinner for shell scripts15⭐1🍴phases) - Minimally invasive bash preprocessor, select sections of your script to run168⭐13🍴powscript) - bash transpiler written in bash (coffeescript for bash)268⭐56🍴semver_bash) - Semantic Versioning in Bash29⭐7🍴sh-semver) - Semver tool for bash - finds versions matching to specified rules39294⭐1910🍴shellcheck) - Static analysis tool for shell scripts1225⭐49🍴shellfire) - A repository of namespaced, composable shell (bash, sh and dash) function libraries1362⭐77🍴shellspec) - A full-featured BDD unit testing framework for dash, bash, ksh, zsh and all POSIX shells8682⭐393🍴shfmt) - A shell parser, formatter, and interpreter with bash support; includes shfmt386⭐25🍴shpec) - A shell testing framework- 🌎 shutit - Automation framework based on bash and pexpect
1761⭐145🍴sub) - A delicious way to organize programs62⭐9🍴ts) - A shell test script?⭐?🍴urchin) - An idiomatic shell testing framework that uses only shell commands1728⭐201🍴shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit.79⭐10🍴rebash) - Scripting library/framework. Features: imports, exceptions, doc-tests ...223⭐26🍴zunit) - A powerful unit testing framework for ZSH
- 🌎 Bash Official Reference Manual
- 🌎 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)
160728⭐14804🍴The Art of Command Line)- 🌎 Learn Enough Command Line to Be Dangerous
12259⭐1045🍴A guide to learn bash)- 🌎 Shell Field Guide
Other amazingly awesome lists can be found in 3130⭐ 289🍴 awesome-awesome) and 33372⭐ 3589🍴 awesome-awesomeness).
19362⭐1262🍴awesome-cli-apps)- awesome-fish
- awesome-zsh
- awesome-bash
12954⭐642🍴terminals-are-sexy)
36799⭐ 2500🍴 alebcay/awesome-shell)