awesome-shell
A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.
https://github.com/alebcay/awesome-shell
Last synced: about 3 hours ago
JSON representation
-
For Developers
-
Directory Navigation
- just - Task runner for saving and running project-specific commands.
- licins - Insert commented software licenses into source code.
- mkdkr - Makefile + Docker = CI Pipeline
- nve - Run any command on specific Node.js versions.
- overcommit - A fully configurable and extendable Git hook manager
- rebound - Instantly browse Stack Overflow results in your terminal when you get a compiler error
- repren - Command-line search-and-replace and file-renaming swiss army knife
- slap - Sublime-like terminal-based text editor that runs on Node.js
- shipit - Minimalistic SSH deployment
- starring - Automatically star the npm-packages that you are using on GitHub.
- tag - Instantly jump to your ag matches.
- vmn - git-based automatic versioning and state recovery solution agnostic to language or architecture
- wipe-modules - A little agent that removes the node_modules folder of non-active projects
- hub - hub helps you win at git.
-
-
Games
-
Directory Navigation
- minesweeper - Bash implementation of minesweeper
- SHTAP - Reusable text adventure engine for Bash 4
- bash2048 - Bash implementation of 2048 game
- nudoku - ncurses based sudoku game written in C
- piu-piu - Horizontal scroller game in bash with multiplayer mode!
- sedtris - Tetris in sed
- sed-scripts - Arkanoid and Sokoban written using sed
- tty-solitaire - Play solitaire in your terminal!
-
-
Multimedia and File Formats
-
Directory Navigation
- mpv - Lets you play most audio and video formats (using ASCII characters) in the shell as well as in a GUI.
- xmlstarlet - Old but powerful tool for command-line XML formatting, filtering, and manipulation.
- adb-export - Export Android content providers to CSV format
- Android-Kitchen - A text-based kitchen for Android ROM customization. Uses shell scripts and works with Cygwin/OS X/Linux
- Beets - Music library manager and MusicBrainz tagger
- cmus - Cross-platform cli audio player.
- dasel - Query and update data structures using selectors from the command line. Comparable to [jq](https://github.com/stedolan/jq) / [yq](https://github.com/kislyuk/yq) but supports JSON, YAML, TOML and XML with zero runtime dependencies.
- dzr - Cross-platform Deezer.com audio player.
- fx - Command-line JSON processing tool by anononymus JavaScript functions
- gifgen - Simple high quality GIF encoding
- image-scraper - A cool command line image scraper with a lot of features.
- imgp - Blazing fast batch image resizer and rotator
- jc - Convert command output, file-types, and common strings to JSON or YAML for easier use in scripts.
- jo - A small utility to create JSON objects from command-line arguments.
- korkut - Quick and simple image processing at the command line.
- 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.
- nehm - Console tool, which downloads, sets IDv3 tags and adds to your iTunes (if you use it) your SoundCloud likes in convenient way
- PiCAST - PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device
- visidata - A terminal spreadsheet multitool for exploring and arranging data (csv/json/xml/xls/yaml/etc)
- yq - yq is a portable command-line YAML processor
- jq - Sed for json data. You can use it to slice and filter and map and transform structured data
- xmlstarlet - Old but powerful tool for command-line XML formatting, filtering, and manipulation.
-
-
Shell Package Management
-
Directory Navigation
- bpkg - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg
- yadm - Git-based dotfiles manager supporting encryption, alternates, and bootstrapping
- bash-it - A community Bash framework
- basher - A package manager for shell scripts
- bashing - Smashing Bash into Pieces
- dotdrop - Save your dotfiles once, deploy them everywhere
- dotfiler
- fresh - Keep your dotfiles fresh
- homeshick - Git dotfile synchronizer written in Bash
- shallow-backup - Easily create lightweight documentation of installed packages, dotfiles, and more
- shundle - Plugin manager for shell scripts
- vcsh - Config manager based on Git
- bpkg - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg
-
-
Shells
- bash - GNU Project's shell (Bourne Again SHell)
- elvish - Friendly, expressive shell features like anonymous functions and data structures
- osh - Bash compatible, with new/modern Unix shell language called Oil
- pdksh - Public domain Korn shell
- powershell - platform task automation and configuration management framework, consisting of a command-line shell and scripting language
- tcsh - C shell with file name completion and command line editing
- yash - A POSIX-compliant command line shell with built-in support for completion and prediction based on command history
- es - The extensible shell, based on Plan 9's [rc](https://github.com/rakitzis/rc) shell
- ion - A modern system shell that features a simple, yet powerful, syntax. It is written entirely in Rust.
- ksh93 - Korn Shell
- mksh - MirBSD Korn Shell
- murex - A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)
- ngs - Fully featured scripting language created specifically for Ops. REPL is being developed.
- nushell - A modern shell written in Rust
- oksh - Portable OpenBSD ksh
- shell++ - Friendly and modern functional and object oriented shell script language
- shenv - Simple shell version management
- yash - A POSIX-compliant command line shell with built-in support for completion and prediction based on command history
- powershell - platform task automation and configuration management framework, consisting of a command-line shell and scripting language
- zsh - Powerful shell with scripting language
- powershell - platform task automation and configuration management framework, consisting of a command-line shell and scripting language
- fish - Smart and user-friendly command line shell
-
Shell Script Development
-
Directory Navigation
- bashly - Bash command line framework and CLI generator
- dispatch - A command line argument parser in 50 lines of portable shell script.
- Bash Official Reference Manual
- Bash Hackers Wiki
- Greg Wooledge's (aka "greycat") wiki
- Bash Guide
- 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)
- Learn Enough Command Line to Be Dangerous
- Shell Field Guide
- ansi - ANSI escape codes in pure bash - change text color, position the cursor, much more
- assert.sh - Bash unit testing framework
- bashew - bash script creator - from small stand-alone script to complex projects with CI/CD and testing
- bashful - A collection of libraries to simplify writing Bash scripts
- 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](https://microsoft.github.io/language-server-protocol/)-based Bash language server
- bash-modules - functions for developing with [unofficial strict mode](http://redsymbol.net/articles/unofficial-bash-strict-mode/) enabled.
- bats - Bash Automated Testing System
- composure - Compose, document, version and organize your shell functions
- crash - Proper error handling, exceptions and try/catch for ZSH
- critic.sh - Dead simple testing framework for Bash with coverage reporting
- esh - A simple templating engine based on shell, implemented in ~290 lines of POSIX shell and awk.
- Fishtape - TAP producer and test harness for fish
- getoptions - An elegant option parser for shell scripts (sh, bash and all POSIX shells)
- getopts.fish - CLI parser for fish
- 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
- powscript - bash transpiler written in bash (coffeescript for bash)
- 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
- shellspec - A full-featured BDD unit testing framework for dash, bash, ksh, zsh and all POSIX shells
- shfmt - A shell parser, formatter, and interpreter with bash support; includes shfmt
- shpec - A shell testing framework
- shutit - Automation framework based on bash and pexpect
- 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
- Use the Unofficial Bash Strict Mode (Unless You Looove Debugging)
- The Art of Command Line
- A guide to learn bash
- awesome-awesome - awesomeness](https://github.com/bayandin/awesome-awesomeness).
-
See also
-
-
System Utilities
-
Directory Navigation
- ncdu - NCurses Disk Usage
- bat - A `cat` clone with wings
- bmon - Real-time network bandwidth monitor and rate estimator with human-friendly visual output
- btop - Linux/OSX/FreeBSD resource monitor
- catcli - The command line catalog tool for your offline data
- ccat - ccat is the colorizing cat. It works similar to cat but displays content with syntax highlighting.
- exa - A modern version of `ls`.
- progress - Linux tool to show progress for `cp`, `rm`, `dd`, and more...
- stronghold - Easily configure MacOS security settings from the terminal.
- glances - Glances an Eye on your system
- goaccess - GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in \*nix systems.
- hblock - Hosts-file based adblocker
- histstat - History for netstat
- htop - A ncurses based interactive process viewer which aims to be a better `top`
- logdissect - CLI utility and Python API for analyzing log files and other data.
- ls++ - Colorized ls on steroids
- lsd - LSDeluxe, rewrite of GNU ls with lot of added features like colors, icons, tree-view and more formatting options.
- lsp - An improved `ls`, with file descriptions in plain language and intelligent file grouping
- maza - Local ad blocker. Like Pi-hole but local and using your operating system.
- mtr - The functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.
- nmtui - Text User Interface for controlling NetworkManager
- powertop - Battery/Power usage and device stats monitoring command-line tool, with tune-up options.
- prettyping - Making the output of `ping` prettier, more colorful, more compact, and easier to read.
- procdog - Lightweight command-line control of long-lived processes like servers
- quick-secure - Quickly secure and harden UNIX/Linux systems
- rng - Copy range of lines from file or stdin to stdout.
- tiptop - Graphical command-line system monitor.
- wifi-wand - a Ruby command line application for managing WiFi on MacOS (install by `gem install wifi-wand`)
- xiringuito - SSH-based "VPN for poors"
-
Programming Languages
Categories
Sub Categories
Keywords
cli
65
bash
58
shell
54
terminal
46
command-line
44
zsh
37
linux
24
command-line-tool
21
python
19
rust
17
fish
16
developer-tools
14
macos
12
git
12
console
11
c
11
productivity
10
golang
9
go
9
json
8
tui
8
tool
7
unix
7
shell-script
7
utility
7
search
7
devops
7
ksh
6
nodejs
6
posix
6
history
6
filesystem
6
http
6
devops-tools
5
csv
5
testing
5
standalone
5
vim
5
security
5
docker
4
posix-sh
4
files
4
dotfiles
4
ls
4
cloud
4
monitoring
4
bash-script
4
development
4
ssh
4
ncurses
4