Top 50 Awesome List


Development Environment  5 months ago  24.9k
A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.
View on Github
 █████╗ ██╗    ██╗███████╗███████╗ ██████╗ ███╗   ███╗███████╗
██╔══██╗██║    ██║██╔════╝██╔════╝██╔═══██╗████╗ ████║██╔════╝
███████║██║ █╗ ██║█████╗  ███████╗██║   ██║██╔████╔██║█████╗
██╔══██║██║███╗██║██╔══╝  ╚════██║██║   ██║██║╚██╔╝██║██╔══╝
██║  ██║╚███╔███╔╝███████╗███████║╚██████╔╝██║ ╚═╝ ██║███████╗
╚═╝  ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝     ╚═╝╚══════╝
███████╗██╗  ██╗███████╗██╗     ██╗
██╔════╝██║  ██║██╔════╝██║     ██║
███████╗███████║█████╗  ██║     ██║
╚════██║██╔══██║██╔══╝  ██║     ██║
███████║██║  ██║███████╗███████╗███████╗
╚══════╝╚═╝  ╚═╝╚══════╝╚══════╝╚══════╝

Awesome Shell Awesome

A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php. This awesome collection is also available on


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 rcstars194 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.
  • ksh93stars460 - Korn Shell
  • mkshstars171 - MirBSD Korn Shell
  • ngsstars1.2k - Fully featured scripting language created specifically for Ops. REPL is being developed.
  • nushellstars20.7k - A modern shell written in Rust
  • okshstars261 - 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++stars108 - Friendly and modern functional and object oriented shell script language
  • shenvstars33 - 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.

  • AdvancedNewFilestars193 - Fast creation of files and directories in a recursive way. Inspired by the Vim plugin.
  • agstars24.1k - Super fast string search through a directory hierarchy
  • aliasesstars436 - Contextual, dynamic, organized aliases for bash
  • autoenvstars5k - Directory-based environments
  • bartibstars299 - 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.
  • bashhubstars1k - emoji-cloud 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.6k - A terminal based search engine for bash commands
  • browshstars15.1k - The modern text-based browser
  • Bukustars5.3k - Powerful command-line bookmark manager
  • byobu - Text-based window manager and terminal multiplexer
  • codstars426 — A completion daemon for shell that learns when you invoke --help commands
  • CloudClipstars68 - Your own clipboard in the cloud, copy and paste text with gist between different systems
  • ddgrstars2.4k - DuckDuckGo from the terminal
  • deskstars2.5k - A lightweight workspace manager for the shell
  • direnvstars9.6k - An environment switcher for the shell, compare with autoenv
  • dnotestars2.4k - A simple command line notebook with multi-device sync and web interface
  • eurekastars557 - emoji-bulb CLI tool to input and store your ideas without leaving the terminal
  • fasdstars5.8k - Command-line productivity booster, offers quick access to files and directories
  • fdstars24.6k - 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.
  • funkystars606 - Extends functionality of shell functions making them more powerful and flexible.
  • fzstars429 - Seamless fuzzy tab completion for z
  • fzfstars47.1k - A command-line fuzzy finder
  • gitmuxstars335 - Show Git status in Tmux status bar
  • googlerstars5.8k - Google Search, Google Site Search, Google News from the terminal
  • googlrstars34 - Command line tool that lets you search Google from your terminal.
  • hasstars468 - 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 like man, but you can query it in natural language.
  • navistars11.7k - An interactive cheatsheet tool for the command-line
  • hhighlighterstars409 - Colorize words in a command output
  • hrstars1.2k - <hr /> for your terminal
  • hssstars303 - An interactive parallel ssh client featuring autocomplete and asynchronous execution
  • hstrstars3.3k - Bash History Suggest Box
  • kstars1.7k - 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.shstars37 - Quickly search files with fewer typings and do many more (grepping, copying path to clipboard, etc)
  • lowchartsstars105 - Draw low-resolution graphs in terminal
  • Lmod - Lua-based Environment Modules that enhances Tcl-based modules while being backward compatible (compare to modules)
  • loopstars602 - Write and control complex loops with as one-liners
  • markerstars1.9k - Bookmark your shell commands
  • mackupstars12.4k - Keep your application settings in sync (OS X/Linux)
  • mcflystars4.5k - Fly through your shell history. Great Scot!
  • modules - Classical Tcl-based Environment Modules managing the shell environment (compare to Lmod, direnv, and autoenv)
  • nnnstars14.9k - 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.8k - 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.
  • pddstars277 - Tiny date, time diff calculator with timers
  • percolstars3.1k - Adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
  • qstars58 - Vim like macro registers for your Bash and Zsh Shell
  • qfcstars547 - File-completion widget for Bash and Zsh
  • reshstars736 - Contextual shell history for Zsh and Bash
  • rgstars33.2k - 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-historystars97 - Visualize your shell usage with Highcharts
  • SHMLstars419 - Style framework for the terminal (Shell Markup Language)
  • slugifystars279 - Command that converts filenames and directories to a web friendly format
  • smanstars273 - emoji-bug A command-line snippet manager
  • sparkstars5.9k - ▁▂▃▅▂▇ in your shell
  • spark.fishstars280 - ▁▂▃▅ Sparkline Generator
  • sheetstars246 - Text snippets for the command line
  • spotstars894 - Tiny file search utility
  • snipsstars63 - Command line tool to manage snippets of code.
  • sqllinestars530 - Shell for issuing SQL to relational databases via JDBC (multiline, completion, highlighting, dialect support)
  • sshfsstars988 - A tool for mounting remote file systems over SSH
  • sudocabularystars146 - Learn English Vocabulary from your terminal
  • surfraw - browse specific site and search the web from your terminal without browser.
  • task-managerstars11 - Execute all your scripts with just two or three keystrokes.
  • td-clistars150 - A todo command line manager to organize and manage your todos across multiple projects.
  • thefuckstars73.4k - Fix common shell mistakes by using an easy to remember command
  • tldrstars659 - A fully-functional bash client for tldr, simplified and community-driven man pages
  • tmux - Amazing terminal multiplexer
  • undollarstars103 - undollar bites the dollar sign off the tip of the command you just pasted into your terminal
  • usqlstars7.6k - Universal command-line interface for SQL databases.
  • vstars423 - z for vim.
  • wemuxstars3.5k - Multi-User Tmux Made Easy
  • xiki - Makes the shell console more friendly and powerful
  • xplrstars2.3k - A hackable, minimal, fast TUI file explorer
  • xsvstars8.7k - a fast CSV command line toolkit written in Rust
  • xxhstars3.8k - Bring your favorite shell wherever you go through the SSH.

Directory Navigation

  • aliasmestars103 - alias helper to change directory quickly
  • autojumpstars14.2k - A cd command that learns - easily navigate directories from the command line
  • bashmarksstars1.8k - Directory bookmarks for the shell
  • bdstars882 - Quickly go back to a parent directory
  • commacdstars334 - A faster way to move around in Bash
  • enhancdstars2.2k - emoji-rocket A next-generation cd command with an interactive filter
  • gotostars810 - 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.
  • upstars144 - Ascend directories by name or count; for bash, zsh, and fish.
  • zstars14.6k - z is the new j, yo
  • z.luastars2.4k - A new cd command that helps you navigate faster by learning your habits
  • zoxidestars7.7k - A faster way to navigate your filesystem, written in Rust
  • zpyistars96 - Python in Zsh - Easy python scripting in shell


Custom prompts, color themes, etc.

For Developers

Command-line development, version control, and deployment.

  • ack - A grep-like search tool optimized for source code.
  • add-gitignorestars545 - Interactive CLI that generates a .gitignore for your project based on your needs.
  • bcalstars561 - Byte CALculator for storage conversions and calculations
  • bitwisestars463 - Terminal based interactive bit manipulator in curses.
  • bockerstars8.8k - Docker implemented in 100 lines of bash
  • clocstars14.8k - Count Lines of Code
  • docltstars43 - A command line interface to Digital Ocean
  • dokkustars23.7k - Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen.
  • forgitstars3.5k - Utility tool for git taking advantage of fuzzy finder fzf.
  • git-extra-commandsstars798 - Many Git extra utilities. Churn, cut-branch, improved-merge and many more.
  • git-extrasstars15.8k - Git utilities -- repo summary, repl, changelog population, author commit percentages and more
  • git-openstars2.9k - Type git open to open the GitHub page or website for a repository in your browser
  • git-quick-statsstars5.5k - Git quick statistics is a simple and efficient way to access various statistics in git repository.
  • git-semverstars349 - Git plugin for easing semantic versioning and changelog validation
  • git-shstars723 - A customized Bash environment suitable for Git work
  • gitastars1.2k - A command-line tool to manage multiple git repos.
  • hubstars22k - hub helps you win at git.
  • juststars7k - Task runner for saving and running project-specific commands.
  • licinsstars19 - Insert commented software licenses into source code.
  • mkdkrstars297 - Makefile + Docker = CI Pipeline
  • mr - Multiple Repository management tool
  • overcommitstars3.7k - 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
  • reprenstars307 - Command-line search-and-replace and file-renaming swiss army knife
  • slapstars6.1k - Sublime-like terminal-based text editor that runs on Node.js
  • shipitstars557 - Minimalistic SSH deployment
  • starringstars154 - Automatically star the npm-packages that you are using on GitHub.
  • tagstars584 - Instantly jump to your ag matches.
  • wipe-modulesstars325 - 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
  • batstars37.2k - A cat clone with wings
  • bmonstars958 - Real-time network bandwidth monitor and rate estimator with human-friendly visual output
  • btopstars8.8k - Linux/OSX/FreeBSD resource monitor
  • catclistars156 - 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.
  • exastars19.3k - A modern version of ls.
  • progressstars5.8k - Linux tool to show progress for cp, rm, dd, and more...
  • strongholdstars965 - Easily configure MacOS security settings from the terminal.
  • glancesstars21.5k - Glances an Eye on your system
  • goaccessstars15.2k - GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems.
  • hblockstars1.1k - Hosts-file based adblocker
  • histstatstars88 - 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
  • logdissectstars123 - CLI utility and Python API for analyzing log files and other data.
  • ls++stars483 - Colorized ls on steroids
  • lsdstars8.4k - LSDeluxe, rewrite of GNU ls with lot of added features like colors, icons, tree-view and more formatting options.
  • lspstars510 - 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.
  • mtrstars2.1k - The functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.
  • ncdu - NCurses Disk Usage
  • nmtuistars251 - Text User Interface for controlling NetworkManager
  • powertopstars660 - Battery/Power usage and device stats monitoring command-line tool, with tune-up options.
  • prettypingstars1.1k - 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-securestars399 - Quickly secure and harden UNIX/Linux systems
  • rngstars25 - Copy range of lines from file or stdin to stdout.
  • tiptopstars1.2k - 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.

  • aria2stars27.5k - aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, BitTorrent and Metalink
  • ballsstars835 - Bash on Balls
  • bashttpdstars1.4k - A web server written in Bash
  • bashhub-serverstars246 - 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
  • httpiestars23.8k - 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.
  • ngincatstars164 - Tiny Bash HTTP server using netcat
  • restystars2.6k - Little command line REST client that you can use in pipelines
  • shell2httpstars977 - HTTP-server to execute shell commands. Designed for development, prototyping or remote control
  • vesperstars192 - 🍸Vesper is a HTTP framework for Bash/Unix Shell
  • xhstars3.1k - Friendly and fast tool for sending HTTP requests
  • youtube-dl - Small command-line program to download videos from and other video sites

Multimedia and File Formats

Tools for handling video and audio files.

  • adb-exportstars94 - Export Android content providers to CSV format
  • Android-Kitchenstars958 - A text-based kitchen for Android ROM customization. Uses shell scripts and works with Cygwin/OS X/Linux
  • Beetsstars11.2k - Music library manager and MusicBrainz tagger
  • cmusstars4.7k - Cross-platform cli audio player.
  • daselstars3.6k - Query and update data structures using selectors from the command line. Comparable to jqstars23.1k / yqstars2k but supports JSON, YAML, TOML and XML with zero runtime dependencies.
  • fxstars15.3k - Command-line JSON processing tool by anononymus JavaScript functions
  • gifgenstars490 - Simple high quality GIF encoding
  • image-scraperstars706 - A cool command line image scraper with a lot of features.
  • imgpstars896 - Blazing fast batch image resizer and rotator
  • jostars4.2k - A small utility to create JSON objects from command-line arguments.
  • jqstars23.1k - Sed for json data. You can use it to slice and filter and map and transform structured data
  • korkutstars351 - 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.
  • nehmstars85 - 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
  • sejdastars408 - Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc)
  • visidatastars5.9k - A terminal spreadsheet multitool for exploring and arranging data (csv/json/xml/xls/yaml/etc)
  • xidelstars501 - 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.
  • yqstars6.4k - yq is a portable command-line YAML processor