alebcay/awesome-shell
Development Environment 2 months ago 23.8k
A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.
█████╗ ██╗ ██╗███████╗███████╗ ██████╗ ███╗ ███╗███████╗
██╔══██╗██║ ██║██╔════╝██╔════╝██╔═══██╗████╗ ████║██╔════╝
███████║██║ █╗ ██║█████╗ ███████╗██║ ██║██╔████╔██║█████╗
██╔══██║██║███╗██║██╔══╝ ╚════██║██║ ██║██║╚██╔╝██║██╔══╝
██║ ██║╚███╔███╔╝███████╗███████║╚██████╔╝██║ ╚═╝ ██║███████╗
╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝
███████╗██╗ ██╗███████╗██╗ ██╗
██╔════╝██║ ██║██╔════╝██║ ██║
███████╗███████║█████╗ ██║ ██║
╚════██║██╔══██║██╔══╝ ██║ ██║
███████║██║ ██║███████╗███████╗███████╗
╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
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.
- 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
- Other Awesome Lists
Shells
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 rcstars195 shell
- fish - Smart and user-friendly command line shell
- ionstars1.3k - A modern system shell that features a simple, yet powerful, syntax. It is written entirely in Rust.
- ksh93stars439 - Korn Shell
- mkshstars165 - MirBSD Korn Shell
- ngsstars1.1k - Fully featured scripting language created specifically for Ops. REPL is being developed.
- nushellstars19.7k - A modern shell written in Rust
- okshstars218 - 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
- shell++stars104 - Friendly and modern functional and object oriented shell script language
- shenvstars30 - 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
- 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
Command-Line Productivity
Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.
- AdvancedNewFilestars183 - Fast creation of files and directories in a recursive way. Inspired by the Vim plugin.
- agstars23.8k - Super fast string search through a directory hierarchy
- aliasesstars424 - Contextual, dynamic, organized aliases for bash
- autoenvstars5k - Directory-based environments
- bartibstars271 - 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.
- bashhubstars988 -
Bash history in the cloud. Indexed and searchable.
- boilrstars1.5k - A blazingly fast CLI tool for creating projects from boilerplate templates.
- boomstars1.2k - Store links and snippets in the command line
- borgstars1.5k - A terminal based search engine for bash commands
- browshstars14.8k - The modern text-based browser
- Bukustars5.1k - Powerful command-line bookmark manager
- byobu - Text-based window manager and terminal multiplexer
- codstars408 — A completion daemon for shell that learns when you invoke
--help
commands - CloudClipstars65 - Your own clipboard in the cloud, copy and paste text with gist between different systems
- ddgrstars2.4k - DuckDuckGo from the terminal
- deskstars2.4k - A lightweight workspace manager for the shell
- direnvstars9.2k - An environment switcher for the shell, compare with autoenv
- dnotestars2.3k - A simple command line notebook with multi-device sync and web interface
- eurekastars512 -
CLI tool to input and store your ideas without leaving the terminal
- fasdstars5.7k - Command-line productivity booster, offers quick access to files and directories
- fdstars23.5k - A simple, fast and user-friendly alternative to find.
- foxystars38 - Plain text bookmarks for Firefox and surf browsers.
- fselectstars3.3k - Find files with SQL-like queries.
- funkystars593 - Extends functionality of shell functions making them more powerful and flexible.
- fz - Seamless fuzzy tab completion for z
- fzfstars45.2k - A command-line fuzzy finder
- gitmuxstars305 - Show Git status in Tmux status bar
- googlerstars5.8k - Google Search, Google Site Search, Google News from the terminal
- googlrstars33 - Command line tool that lets you search Google from your terminal.
- hasstars428 -
has
helps you check presence of various command line tools and their versions on path - how2stars5.5k -
how2
finds the simplest way to do something in a unix shell. It's likeman
, but you can query it in natural language. - navistars11.2k - An interactive cheatsheet tool for the command-line
- hhighlighterstars404 - Colorize words in a command output
- hrstars1.2k -
<hr />
for your terminal - hssstars300 - An interactive parallel ssh client featuring autocomplete and asynchronous execution
- hstrstars3.2k - Bash History Suggest Box
- kstars1.6k - k is a Zsh script to make directory listings more readable, adding Git status, fileweight colors and rotting dates
- k aliasstars16 - get kool aliases (and more) working with a simple one-liner
- lf.shstars35 - Quickly search files with fewer typings and do many more (grepping, copying path to clipboard, etc)
- lowchartsstars92 - Draw low-resolution graphs in terminal
- Lmod - Lua-based Environment Modules that enhances Tcl-based modules while being backward compatible (compare to modules)
- loopstars583 - Write and control complex loops with as one-liners
- markerstars1.9k - Bookmark your shell commands
- mackupstars12.1k - Keep your application settings in sync (OS X/Linux)
- mcflystars4.2k - Fly through your shell history. Great Scot!
- modules - Classical Tcl-based Environment Modules managing the shell environment (compare to Lmod, direnv, and autoenv)
- nnnstars14.3k - File browser and disk usage analyzer with excellent desktop integration
- 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.
- pathpickerstars4.7k - 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.
- pddstars262 - Tiny date, time diff calculator with timers
- percolstars3.1k - Adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
- qstars55 - Vim like macro registers for your Bash and Zsh Shell
- qfcstars538 - File-completion widget for Bash and Zsh
- reshstars700 - Contextual shell history for Zsh and Bash
- rgstars31.6k - 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
- shell-historystars96 - Visualize your shell usage with Highcharts
- SHMLstars418 - Style framework for the terminal (Shell Markup Language)
- slugifystars273 - Command that converts filenames and directories to a web friendly format
- smanstars268 -
A command-line snippet manager
- sparkstars5.8k - ▁▂▃▅▂▇ in your shell
- spark.fishstars276 - ▁▂▃▅ Sparkline Generator
- sheetstars245 - Text snippets for the command line
- spotstars888 - Tiny file search utility
- sqllinestars514 - Shell for issuing SQL to relational databases via JDBC (multiline, completion, highlighting, dialect support)
- sshfsstars972 - A tool for mounting remote file systems over SSH
- sudocabularystars143 - Learn English Vocabulary from your terminal
- surfraw - browse specific site and search the web from your terminal without browser.
- task-managerstars12 - Execute all your scripts with just two or three keystrokes.
- td-clistars146 - A todo command line manager to organize and manage your todos across multiple projects.
- thefuckstars71.8k - Fix common shell mistakes by using an easy to remember command
- tldrstars645 - A fully-functional bash client for tldr, simplified and community-driven man pages
- tmux - Amazing terminal multiplexer
- undollarstars95 - undollar bites the dollar sign off the tip of the command you just pasted into your terminal
- usqlstars7.3k - Universal command-line interface for SQL databases.
- vstars422 - z for vim.
- wemuxstars3.5k - Multi-User Tmux Made Easy
- xiki - Makes the shell console more friendly and powerful
- xplrstars2k - A hackable, minimal, fast TUI file explorer
- xsvstars8.4k - a fast CSV command line toolkit written in Rust
- xxhstars3.6k - Bring your favorite shell wherever you go through the SSH.
Directory Navigation
- aliasmestars101 - alias helper to change directory quickly
- autojumpstars13.9k - A cd command that learns - easily navigate directories from the command line
- bashmarksstars1.7k - Directory bookmarks for the shell
- bdstars869 - Quickly go back to a parent directory
- commacdstars329 - A faster way to move around in Bash
- enhancdstars2.1k -
A next-generation cd command with an interactive filter
- gotostars804 - A shell utility for navigation to aliased directories supporting auto-completion
- jumpstars1.4k - Jump helps you navigate your file system faster by learning your habits.
- lazy-cdstars20 - Simple bash commands for bookmarked navigation of the file system, complete with bash-completion.
- upstars141 - Ascend directories by name or count; for bash, zsh, and fish.
- zstars14.4k - z is the new j, yo
- z.luastars2.3k - A new cd command that helps you navigate faster by learning your habits
- zoxidestars6.7k - A faster way to navigate your filesystem, written in Rust
- zpyistars93 - Python in Zsh - Easy python scripting in shell
Customization
Custom prompts, color themes, etc.
- base16-builderstars392 - Base16-Builder
- bash-full-of-colorsstars150 - Powerful prompt with screen, tmux, git support and many more
- bash-git-promptstars6.3k - An informative and fancy Bash prompt for Git users
- bash-powerlinestars833 - Powerline-style Bash prompt in pure Bash script
- bashstrapstars1.6k - A quick way to spruce up OSX terminal
- bullet-train-oh-my-zsh-themestars2.7k -
An oh-my-zsh shell theme based on the Powerline Vim plugin
- emojifystars1.5k Emoji on the command line
- flatui-terminal-theme - Nicer colors for terminal
- geometrystars838 - A minimal ZSH theme where any function can be added to the left prompt or (async) right prompt on the fly.
- git-promptstars326 - Bash prompt with Git, SVN and HG modules
- gittifystars59 - A colorful Bash prompt + customized Git aliases
- Gogh - Color Schemestars6.9k - Color Scheme for Gnome Terminal
- liquidpromptstars4.2k - A full-featured & carefully designed adaptive prompt for Bash & Zsh
- mysql-colorizestars88 - Colorization for mysql comand-line client
- oh-my-gitstars3.5k - An opinionated git prompt for bash and zsh
- oh-my-posh - Prompt theme engine for any shell and platform written in go.
- polyglotstars139 - An informative Git prompt that works in bash, zsh, ksh, mksh, pdksh, dash, and busybox sh
- powerlevel10kstars29.1k - Super flexible awesome powerline ZSH theme
- sexy-bash-promptstars1.1k - Bash prompt with colors, Git statuses, and Git branches
- starship - Fast, customisable, cross-shell prompt written in rust
- synth-shellstars478 - Greeter with a customizable status report and a fancy bash prompt
For Developers
Command-line development, version control, and deployment.
- ack - A grep-like search tool optimized for source code.
- add-gitignorestars537 - Interactive CLI that generates a .gitignore for your project based on your needs.
- bcalstars548 - Byte CALculator for storage conversions and calculations
- bitwisestars457 - Terminal based interactive bit manipulator in curses.
- bockerstars8.7k - Docker implemented in 100 lines of bash
- clocstars14.3k - Count Lines of Code
- docltstars43 - A command line interface to Digital Ocean
- dokkustars23.2k - Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen.
- forgitstars3.3k - Utility tool for
git
taking advantage of fuzzy finder fzf. - git-extra-commandsstars764 - Many Git extra utilities. Churn, cut-branch, improved-merge and many more.
- git-extrasstars15.6k - Git utilities -- repo summary, repl, changelog population, author commit percentages and more
- git-openstars2.8k - Type
git open
to open the GitHub page or website for a repository in your browser - git-quick-statsstars5.4k - Git quick statistics is a simple and efficient way to access various statistics in git repository.
- git-semverstars344 - Git plugin for easing semantic versioning and changelog validation
- git-shstars721 - A customized Bash environment suitable for Git work
- gitastars1.2k - A command-line tool to manage multiple git repos.
- hubstars21.9k - hub helps you win at git.
- juststars5.9k - Task runner for saving and running project-specific commands.
- licinsstars19 - Insert commented software licenses into source code.
- mkdkrstars290 - Makefile + Docker = CI Pipeline
- mr - Multiple Repository management tool
- overcommitstars3.6k - A fully configurable and extendable Git hook manager
- pre-commit - A framework for managing and maintaining multi-language pre-commit hooks
- reboundstars3.9k - Instantly browse Stack Overflow results in your terminal when you get a compiler error
- reprenstars301 - Command-line search-and-replace and file-renaming swiss army knife
- slapstars6.1k - Sublime-like terminal-based text editor that runs on Node.js
- shipitstars552 - Minimalistic SSH deployment
- starringstars155 - Automatically star the npm-packages that you are using on GitHub.
- tagstars582 - Instantly jump to your ag matches.
- wipe-modulesstars319 - A little agent that removes the node_modules folder of non-active projects
System Utilities
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
- batstars35.3k - A
cat
clone with wings - bmonstars916 - Real-time network bandwidth monitor and rate estimator with human-friendly visual output
- btopstars7.6k - Linux/OSX/FreeBSD resource monitor
- catclistars121 - The command line catalog tool for your offline data
- ccatstars3k - ccat is the colorizing cat. It works similar to cat but displays content with syntax highlighting.
- exastars18.2k - A modern version of
ls
. - progressstars5.7k - Linux tool to show progress for
cp
,rm
,dd
, and more... - strongholdstars936 - Easily configure MacOS security settings from the terminal.
- glancesstars20.7k - Glances an Eye on your system
- goaccessstars14.8k - GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems.
- hblockstars1k - Hosts-file based adblocker
- histstatstars85 - History for netstat
- htopstars5.7k - A ncurses based interactive process viewer which aims to be a better
top
- lnav - An advanced log file viewer for the small-scale
- logdissectstars117 - CLI utility and Python API for analyzing log files and other data.
- ls++stars480 - Colorized ls on steroids
- lsdstars7.8k - LSDeluxe, rewrite of GNU ls with lot of added features like colors, icons, tree-view and more formatting options.
- lspstars509 - An improved
ls
, with file descriptions in plain language and intelligent file grouping - mazastars1.6k - Local ad blocker. Like Pi-hole but local and using your operating system.
- mtrstars2k - The functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.
- ncdu - NCurses Disk Usage
- nmtuistars243 - Text User Interface for controlling NetworkManager
- powertopstars627 - Battery/Power usage and device stats monitoring command-line tool, with tune-up options.
- prettypingstars1k - Making the output of
ping
prettier, more colorful, more compact, and easier to read. - procdogstars73 - Lightweight command-line control of long-lived processes like servers
- quick-securestars391 - Quickly secure and harden UNIX/Linux systems
- rngstars24 - Copy range of lines from file or stdin to stdout.
- tiptopstars1.1k - Graphical command-line system monitor.
- wifi-wandstars59 - a Ruby command line application for managing WiFi on MacOS (install by
gem install wifi-wand
) - xiringuitostars1k - SSH-based "VPN for poors"
Downloading and Serving
Self-hosted, lightweight servers and networking tools written in shell scripts.
- aria2stars26.7k - aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, BitTorrent and Metalink
- ballsstars827 - Bash on Balls
- bashttpdstars1.4k - A web server written in Bash
- bashhub-serverstars233 - Private cloud shell history. Open source server for bashhub
- bitpocketstars1k - "DIY Dropbox" or "2-way directory (r)sync with proper deletion"
- Dropbox-Uploaderstars6.4k - Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox
- httpiestars22.2k - HTTPie is a command line HTTP client, a user-friendly cURL replacement
- HTTPLabstars3.8k - The interactive web server, let you inspect HTTP requests and forge responses.
- ngincatstars163 - Tiny Bash HTTP server using netcat
- restystars2.6k - Little command line REST client that you can use in pipelines
- shell2httpstars936 - HTTP-server to execute shell commands. Designed for development, prototyping or remote control
- vesperstars189 - 🍸Vesper is a HTTP framework for Bash/Unix Shell
- xhstars3k - Friendly and fast tool for sending HTTP requests
- youtube-dl - Small command-line program to download videos from YouTube.com and other video sites
Multimedia and File Formats
Tools for handling video and audio files.
- adb-exportstars90 - Export Android content providers to CSV format
- Android-Kitchenstars955 - A text-based kitchen for Android ROM customization. Uses shell scripts and works with Cygwin/OS X/Linux
- Beetsstars11k - Music library manager and MusicBrainz tagger
- cmusstars4.7k - Cross-platform cli audio player.
- daselstars3.3k - Query and update data structures using selectors from the command line. Comparable to jqstars22.3k / yqstars1.9k but supports JSON, YAML, TOML and XML with zero runtime dependencies.
- fxstars14.7k - Command-line JSON processing tool by anononymus JavaScript functions
- gifgenstars441 - Simple high quality GIF encoding
- image-scraperstars699 - A cool command line image scraper with a lot of features.
- imgpstars884 - Blazing fast batch image resizer and rotator
- jostars4.2k - A small utility to create JSON objects from command-line arguments.
- jqstars22.3k - Sed for json data. You can use it to slice and filter and map and transform structured data
- korkutstars345 - Quick and simple image processing at the command line.
- mpv - Lets you play most audio and video formats (using ASCII characters) in the shell as well as in a GUI.
- nehmstars84 - Console tool, which downloads, sets IDv3 tags and adds to your iTunes (if you use it) your SoundCloud likes in convenient way
- PiCASTstars1.7k - PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device
- sejdastars399 - Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc)
- visidatastars5.6k - A terminal spreadsheet multitool for exploring and arranging data (csv/json/xml/xls/yaml/etc)
- xidelstars476 - 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.
- yqstars5.9k - yq is a portable command-line YAML processor
Applications
Command line-based applications or command line access to existing services.
- ansiweatherstars1.7k - Weather in your terminal, with ANSI colors and Unicode symbols
- awlessstars4.8k - A powerful, innovative and small surface CLI to manage AWS.
- bashblog