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.
mackup - Keep your application settings in sync (OS X/Linux)
mcfly - Fly through your shell history. Great Scot!
modules - Classical Tcl-based Environment Modules managing the shell environment (compare to Lmod, direnv, and autoenv)
nnn - File browser and disk usage analyzer with excellent desktop integration
parallel - Build and execute shell command lines from standard input in parallel
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.
Self-hosted, lightweight servers and networking tools written in shell scripts.
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
You're not allowed to edit files in this project directly. Please fork this project, make your changes there, and submit a merge request. Fork
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
Choose your base shell.
Command-Line Productivity
Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.
AdvancedNewFile - Fast creation of files and directories in a recursive way. Inspired by the Vim plugin.
ag - Super fast string search through a directory hierarchy
aliases - Contextual, dynamic, organized aliases for bash
aliasme - alias helper to change directory quickly
autoenv - Directory-based environments
autojump - A cd command that learns - easily navigate directories from the command line
bashhub - ☁ Bash history in the cloud. Indexed and searchable.
bashmarks - Directory bookmarks for the shell
bd - Quickly go back to a parent directory
boilr - A blazingly fast CLI tool for creating projects from boilerplate templates.
boom - Store links and snippets in the command line
borg - A terminal based search engine for bash commands
browsh - The modern text-based browser
Buku - Powerful command-line bookmark manager
byobu - Text-based window manager and terminal multiplexer
cod — A completion daemon for shell that learns when you invoke
--help
commandscommacd - A faster way to move around in Bash
CloudClip - Your own clipboard in the cloud, copy and paste text with gist between different systems
ddgr - DuckDuckGo from the terminal
desk - A lightweight workspace manager for the shell
direnv - An environment switcher for the shell, compare with autoenv
dnote - A simple command line notebook with multi-device sync and web interface
enhancd - 🚀 A next-generation cd command with an interactive filter
eureka - 💡 CLI tool to input and store your ideas without leaving the terminal
fasd - Command-line productivity booster, offers quick access to files and directories
fd - A simple, fast and user-friendly alternative to find.
foxy - Plain text bookmarks for Firefox and surf browsers.
fselect - Find files with SQL-like queries.
funky - Extends functionality of shell functions making them more powerful and flexible.
fz - Seamless fuzzy tab completion for z
fzf - A command-line fuzzy finder
gitmux - Show Git status in Tmux status bar
googler - Google Search, Google Site Search, Google News from the terminal
googlr - Command line tool that lets you search Google from your terminal.
goto - A shell utility for navigation to aliased directories supporting auto-completion
has -
has
helps you check presence of various command line tools and their versions on pathhow2 -
how2
finds the simplest way to do something in a unix shell. It's likeman
, but you can query it in natural language.navi - An interactive cheatsheet tool for the command-line
hhighlighter - Colorize words in a command output
hr -
<hr />
for your terminalhss - An interactive parallel ssh client featuring autocomplete and asynchronous execution
hstr - Bash History Suggest Box
jump - Jump helps you navigate your file system faster by learning your habits.
k - k is a Zsh script to make directory listings more readable, adding Git status, fileweight colors and rotting dates
k alias - get kool aliases (and more) working with a simple one-liner
lazy-cd - Simple bash commands for bookmarked navigation of the file system, complete with bash-completion.
lf.sh - Quickly search files with fewer typings and do many more (grepping, copying path to clipboard, etc)
Lmod - Lua-based Environment Modules that enhances Tcl-based modules while being backward compatible (compare to modules)
loop - Write and control complex loops with as one-liners
marker - Bookmark your shell commands
mackup - Keep your application settings in sync (OS X/Linux)
mcfly - Fly through your shell history. Great Scot!
modules - Classical Tcl-based Environment Modules managing the shell environment (compare to Lmod, direnv, and autoenv)
nnn - File browser and disk usage analyzer with excellent desktop integration
parallel - Build and execute shell command lines from standard input in parallel
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.
pdd - Tiny date, time diff calculator with timers
percol - Adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
q - Vim like macro registers for your Bash and Zsh Shell
qfc - File-completion widget for Bash and Zsh
resh - Contextual shell history for Zsh and Bash
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
shell-history - Visualize your shell usage with Highcharts
SHML - Style framework for the terminal (Shell Markup Language)
slugify - Command that converts filenames and directories to a web friendly format
sman - 🐛 A command-line snippet manager
spark - ▁▂▃▅▂▇ in your shell
shark - ▁▂▃▅ Sparkline Generator
sheet - Text snippets for the command line
spot - Tiny file search utility
snips - Command line tool to manage snippets of code.
sqlline - Shell for issuing SQL to relational databases via JDBC (multiline, completion, highlighting, dialect support)
sshfs - A tool for mounting remote file systems over SSH
sudocabulary - Learn English Vocabulary from your terminal
surfraw - browse specific site and search the web from your terminal without browser.
task-manager - Execute all your scripts with just two or three keystrokes.
td-cli - A todo command line manager to organize and manage your todos across multiple projects.
thefuck - Fix common shell mistakes by using an easy to remember command
tldr - A fully-functional bash client for tldr, simplified and community-driven man pages
tmux - Amazing terminal multiplexer
undollar - undollar bites the dollar sign off the tip of the command you just pasted into your terminal
up - Ascend directories by name or count; for bash, zsh, and fish.
v - z for vim.
wemux - Multi-User Tmux Made Easy
xsv - a fast CSV command line toolkit written in Rust
z - z is the new j, yo
z.lua - A new cd command that helps you navigate faster by learning your habits
Customization
Custom prompts, color themes, etc.
For Developers
Command-line development, version control, and deployment.
git
taking advantage of fuzzy finder fzf.git open
to open the GitHub page or website for a repository in your browserSystem Utilities
OS-related tools, including system administration, system debugging, and file and process management.
cat
clone with wingsls
.cp
,rm
,dd
, and more...top
ls
, with file descriptions in plain language and intelligent file groupinggem install wifi-wand
)Downloading and Serving
Self-hosted, lightweight servers and networking tools written in shell scripts.
Multimedia and File Formats
Tools for handling video and audio files.
Applications
Command line-based applications or command line access to existing services.
Games
All work and no play is a cruddy way to spend your day.
Shell Package Management
Tools for managing multiple shell configurations. For zsh-specific tools, see the Zsh section.
Shell Script Development
Tools for writing, improving, or organizing Bash or other shell scripts
ansi - ANSI escape codes in pure bash - change text color, position the cursor, much more
assert.sh - Bash unit testing framework
bashful - A collection of libraries to simplify writing Bash scripts
Bashlets - A modular extensible toolbox for Bash
bashmanager - mini bash framework for creating command line tools
bashwithnails - a Bash framework written just for fun with testing, dependency management & packaging
bash-language-server - LSP-based Bash language server
bats - Bash Automated Testing System
crash - Proper error handling, exceptions and try/catch for ZSH
Fishtape - TAP producer and test harness for fish
composure - Compose, document, version and organize your shell functions
dispatch - A command line argument parser in 50 lines of portable shell script.
is.sh - An alternative for builtin test command, it will make your "if" statements pretty
lumberjack - A logging interface for shell scripts
mo - Mustache templates in pure bash
optparse - A BASH wrapper for getopts, for simple command line arguments.
rerun - A modular shell automation framework to organize your keeper scripts
revolver - A reusable progress spinner for shell scripts
phases - Minimally invasive bash preprocessor, select sections of your script to run
semver_bash - Semantic Versioning in Bash
sh-semver - Semver tool for bash - finds versions matching to specified rules
shellcheck - Static analysis tool for shell scripts
shellfire - A repository of namespaced, composable shell (bash, sh and dash) function libraries
shpec - A shell testing framework
shutit - Automation framework based on bash and pexpect
sub - A delicious way to organize programs
ts - A shell test script
urchin - An idiomatic shell testing framework that uses only shell commands
shunit2 - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit.
rebash - Scripting library/framework. Features: imports, exceptions, doc-tests ...
zunit - A powerful unit testing framework for 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)
The Art of Command Line
Learn Enough Command Line to Be Dangerous
A guide to learn bash
Other amazingly awesome lists can be found in awesome-awesome and awesome-awesomeness.
See also