Awesome Lists

awesome-shell

by alebcay

awesome listpushed about 2 years ago

A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.

AI summary

CLI toolbox

A curated list of command-line frameworks and tools for improving productivity and efficiency

stars
33.4K
forks
2.4K
watching
778
awesome lists
22
entries
369
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/alebcay/awesome-shell/links.svg)](https://awesome.facts.dev/awesome/alebcay/awesome-shell)
HTML
<a href="https://awesome.facts.dev/awesome/alebcay/awesome-shell"><img src="https://awesome.facts.dev/shield/alebcay/awesome-shell/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/alebcay/awesome-shell/links.svg

What's in the list

369 links in 15 sections, with live GitHub stats.activeno commit in 2y

Shells

  • 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 shell

  • fish

    Smart and user-friendly command line 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

  • 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++

    Friendly and modern functional and object oriented shell script language

  • 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

  • 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

  • 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

  • arttime

    Beauty of text art meets functionality of clock, timer, pomodoro++ time manager

  • autoenv

    Directory-based environments

  • await

    single binary that run list of commands in parallel and waits for their termination

  • 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

  • bashhub

    Bash history in the cloud. Indexed and searchable

  • 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

  • broot

    A better way to navigate directories

  • 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 commands

  • 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

  • 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

  • has

    helps you check presence of various command line tools and their versions on path

  • how2

    finds the simplest way to do something in a unix shell. It's like , 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

    for your terminal

  • hss

    An interactive parallel ssh client featuring autocomplete and asynchronous execution

  • hstr

    Bash History Suggest Box

  • 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

  • lf

    Terminal file manager written in Go, inspired by ranger

  • lf.sh

    Quickly search files with fewer typings and do many more (grepping, copying path to clipboard, etc)

  • lowcharts

    Draw low-resolution graphs in terminal

  • 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

  • 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

  • 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

  • spark.fish

    ▁▂▃▅ 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

  • tere

    A faster alternative to cd + ls

  • 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

  • usql

    Universal command-line interface for SQL databases

  • v

    z for vim

  • wemux

    Multi-User Tmux Made Easy

  • xiki

    Makes the shell console more friendly and powerful

  • xplr

    A hackable, minimal, fast TUI file explorer

  • xsv

    a fast CSV command line toolkit written in Rust

  • xxh

    Bring your favorite shell wherever you go through the SSH

Command-Line Productivity / Directory Navigation

  • aliasme

    alias helper to change directory quickly

  • autojump

    A cd command that learns - easily navigate directories from the command line

  • bashmarks

    Directory bookmarks for the shell

  • bd

    Quickly go back to a parent directory

  • commacd

    A faster way to move around in Bash

  • enhancd

    A next-generation cd command with an interactive filter

  • goto

    A shell utility for navigation to aliased directories supporting auto-completion

  • jump

    Jump helps you navigate your file system faster by learning your habits

  • lazy-cd

    Simple bash commands for bookmarked navigation of the file system, complete with bash-completion

  • up

    Ascend directories by name or count; for bash, zsh, and fish

  • z

    z is the new j, yo

  • z.lua

    A new cd command that helps you navigate faster by learning your habits

  • zoxide

    A faster way to navigate your filesystem, written in Rust

  • zpyi

    Python in Zsh - Easy python scripting in shell

Customization

  • aphrodite-terminal-theme

    — Minimalistic Aphrodite theme (prompt) for sexy terminals that works in bash, fish and zsh

  • base16-builder

    Base16-Builder

  • bash-full-of-colors

    Powerful prompt with screen, tmux, git support and many more

  • bash-git-prompt

    An informative and fancy Bash prompt for Git users

  • bash-powerline

    Powerline-style Bash prompt in pure Bash script

  • bashstrap

    A quick way to spruce up OSX terminal

  • bullet-train-oh-my-zsh-theme

    An oh-my-zsh shell theme based on the Powerline Vim plugin

  • emojify

    Emoji on the command line

  • flatui-terminal-theme

    Nicer colors for terminal

  • geometry

    A minimal ZSH theme where any function can be added to the left prompt or (async) right prompt on the fly

  • git-prompt

    Bash prompt with Git, SVN and HG modules

  • gittify

    A colorful Bash prompt + customized Git aliases

  • Gogh - Color Scheme

    Color Scheme for Gnome Terminal

  • liquidprompt

    A full-featured & carefully designed adaptive prompt for Bash & Zsh

  • mysql-colorize

    Colorization for mysql comand-line client

  • 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

  • polyglot

    An informative Git prompt that works in bash, zsh, ksh, mksh, pdksh, oksh, dash, yash, busybox sh, and osh

  • powerlevel10k

    Super flexible awesome powerline ZSH theme

  • sexy-bash-prompt

    Bash prompt with colors, Git statuses, and Git branches

  • starship

    Fast, customisable, cross-shell prompt written in rust

  • synth-shell

    Greeter with a customizable status report and a fancy bash prompt

For Developers

  • 1Password SSH Agent

    Authenticate Git and SSH workflows with biometric unlock using 1Password

  • ack

    A grep-like search tool optimized for source code

  • add-gitignore

    Interactive CLI that generates a .gitignore for your project based on your needs

  • bcal

    Byte CALculator for storage conversions and calculations

  • bitwise

    Terminal based interactive bit manipulator in curses

  • bocker

    Docker implemented in 100 lines of bash

  • cloc

    Count Lines of Code

  • doclt

    A command line interface to Digital Ocean

  • dokku

    Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen

  • forgit

    Utility tool for taking advantage of fuzzy finder fzf

  • git-extra-commands

    Many Git extra utilities. Churn, cut-branch, improved-merge and many more

  • git-extras

    Git utilities -- repo summary, repl, changelog population, author commit percentages and more

  • git-open

    Type to open the GitHub page or website for a repository in your browser

  • git-quick-stats

    Git quick statistics is a simple and efficient way to access various statistics in git repository

  • git-semver

    Git plugin for easing semantic versioning and changelog validation

  • git-sh

    A customized Bash environment suitable for Git work

  • gita

    A command-line tool to manage multiple git repos

  • hub

    hub helps you win at git

  • just

    Task runner for saving and running project-specific commands

  • licins

    Insert commented software licenses into source code

  • mkdkr

    Makefile + Docker = CI Pipeline

  • mr

    Multiple Repository management tool

  • nve

    Run any command on specific Node.js versions

  • overcommit

    A fully configurable and extendable Git hook manager

  • pre-commit

    A framework for managing and maintaining multi-language pre-commit hooks

  • 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

  • trunk

    Blazingly fast meta code checker and formatter

  • 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

System Utilities

  • atop

    ASCII full-screen performance monitor that is capable of reporting the activity of all processes

  • bat

    A 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

  • progress

    Linux tool to show progress for , , , 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

  • lnav

    An advanced log file viewer for the small-scale

  • 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 , 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

  • ncdu

    NCurses Disk Usage

  • 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 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 )

  • xiringuito

    SSH-based "VPN for poors"

Downloading and Serving

  • 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

  • balls

    Bash on Balls

  • bashttpd

    A web server written in Bash

  • bashhub-server

    Private cloud shell history. Open source server for bashhub

  • bitpocket

    "DIY Dropbox" or "2-way directory (r)sync with proper deletion"

  • Dropbox-Uploader

    Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox

  • httpie

    HTTPie is a command line HTTP client, a user-friendly cURL replacement

  • HTTPLab

    The interactive web server, let you inspect HTTP requests and forge responses

  • Kapow!

    If you can script it, you can HTTP it

  • ngincat

    Tiny Bash HTTP server using netcat

  • resty

    Little command line REST client that you can use in pipelines

  • shell2http

    HTTP-server to execute shell commands. Designed for development, prototyping or remote control

  • tshare

    File sharing from commandline

  • vesper

    🍸Vesper is a HTTP framework for Bash/Unix Shell

  • xh

    Friendly and fast tool for sending HTTP requests

  • yt-dlp

    Command-line program to download videos from YouTube.com and other video sites

Multimedia and File Formats

  • 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 / 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

  • jq

    Sed for json data. You can use it to slice and filter and map and transform structured data

  • 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

  • mpv

    Lets you play most audio and video formats (using ASCII characters) in the shell as well as in a GUI

  • 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

  • sejda

    Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc)

  • 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

  • yq

    yq is a portable command-line YAML processor

Applications

  • ansiweather

    Weather in your terminal, with ANSI colors and Unicode symbols

  • awless

    A powerful, innovative and small surface CLI to manage AWS

  • bashblog

    A Bash script that handles blog posting

  • carbon-now-cli

    🎨 Beautiful images of your code — from right inside your terminal

  • choosealicense-cli

    Choose an OSS license from the comfort of your terminal

  • cointop

    The fastest and most interactive terminal based UI application for tracking cryptocurrencies

  • dstask

    Single binary terminal-based TODO manager with git-based sync + markdown notes per task

  • editly

    Command line video editor

  • facebook-cli

    Facebook command line tool

  • fanyi

    Translate English to Chinese in terminal

  • gcalcli

    Google Calendar command line interface

  • geeknote

    Command line evernote client

  • haxor-news

    Browse Hacker News like a haxor

  • hn-cli

    Browse Hacker News from the comfort of your Terminal

  • iponmap

    Draw point on world map using ip address

  • isitup

    Check whether a website is up or down

  • jrnl

    A simple command line journal application that stores your journal in a plain text file

  • kanban.bash

    commandline asciii kanban board for minimalist productivity bash hackers (csv-based)

  • ledger

    Command line accounting

  • licen

    Generate your license. Yet another lice, but implement with Jinja2 and docopt

  • md2png

    Convert markdown to PNG image

  • moviemon

    Everything about your movies within the command line

  • nomino

    Batch rename utility using regex, sort and map file options

  • pcalc

    Calculator made for programmers working with multiple number representations, sizes, and overall close to the bits

  • pockyt

    Read, Manage, and Automate your collection

  • pushblast

    Get PushBullet notifications when a shell program exits

  • pushbullet-bash

    Bash interface to the PushBullet API

  • ranger

    A console file manager with VI key bindings

  • Reddit Terminal Viewer

    Browse Reddit from your terminal

  • SAWS

    A Supercharged AWS CLI

  • taskbook

    Tasks, boards & notes for the command-line habitat

  • taskwarrior

    A command-line TODO list manager

  • terjira

    Command line power tool for Jira

  • ticker

    — Terminal stock ticker with live updates and position tracking

  • vl

    URL link checker on text documents

  • wego

    Weather app for the terminal

  • whales

    A tool to automatically dockerize your applications

  • whereami

    Get your geolocation information from the CLI

  • wttr.in

    The right way to check the weather (curl wttr.in)

Games

  • bash2048

    Bash implementation of 2048 game

  • minesweeper

    Bash implementation of minesweeper

  • 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

  • SHTAP

    Reusable text adventure engine for Bash 4

  • tty-solitaire

    Play solitaire in your terminal!

Shell Package Management

  • bash-it

    A community Bash framework

  • basher

    A package manager for shell scripts

  • bashing

    Smashing Bash into Pieces

  • bpkg

    JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg

  • dotdrop

    Save your dotfiles once, deploy them everywhere

  • dotfiler

    – Shell agnostic git based dotfiles package manager, written in Python

  • 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

  • yadm

    Git-based dotfiles manager supporting encryption, alternates, and bootstrapping

Shell Script Development

  • 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

  • Bashlets

    A modular extensible toolbox for Bash

  • bashly

    Bash command line framework and CLI generator

  • 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

    -based Bash language server

  • bash-modules

    functions for developing with 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

  • dispatch

    A command line argument parser in 50 lines of portable shell script

  • 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

  • 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

Guides

Other Awesome Lists / See also

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.