Command Line Tools
I use many CLI tools.
cheat.sh & eg are useful. Command Line Interface Guidelines are great.
Favorite
- ripgrep - Line-oriented search tool that recursively searches your current directory for a regex pattern. (Andrew Gallant, creator of ripgrep - Sourcegraph Podcast (2020)) (Lobsters)
- fzf - Command-line fuzzy finder. (Advanced Examples)
- Watchexec - Essential for running code and auto reloading on file save changes.
Interesting
Notes
- Look into gh cli for example of a well designed CLI. The
-h
is amazing.
Links
- Awesome command line tools
- Ask HN: What are your favorite terminal programs?
- What's an awesome Linux/Unix command that you wish someone had told you about earlier?
- Awesome Console Services
- tldr - Collection of simplified and community-driven man pages. (Web)
- Awesome jq - Curated list of awesome things built with the JSON processor and turing-complete functional language jq.
- cli.fan blog - Introduction.
- One Things Well blog - Weblog about simple, useful software.
- Terminals Are Sexy - Curated list of Terminal frameworks, plugins & resources for CLI lovers.
- Inconsolation - Adventures with lightweight and minimalist software for Linux.
- Arabesque - Systems, Tools, and Terminal Science.
- The Art of Command Line
- cheat - Allows you to create and view interactive cheatsheets on the command-line. (HN)
- hyperfine - Command-line benchmarking tool.
- An Illustrated Guide to Useful Command Line Tools (2019) (Lobsters) (HN)
- uutils coreutils - Coreutils Rewritten in Rust. (HN)
- The Language Agnostic, All-Purpose, Incredible, Makefile (2019) (Lobsters) (HN)
- CLI: improved (2018)
- Awesome CLI apps
- Fast Searching with ripgrep (2020)
- Awk in 20 Minutes (HN)
- Grep for System Admins: Using Grep to Automate Daily Tasks (2020)
- Command line interfaces are reified UIs (2017) (HN) (Lobsters)
- My Favorite CLI Tools (2020) (HN)
- wttr.in - Console-oriented weather forecast service. (HN)
- Structured text tools - List of text-based file formats and command line tools for manipulating each.
- Conventions for Command Line Options (2020) (HN)
- Rewritten in Rust: Modern Alternatives of Command-Line Tools (2020) (Lobsters)
- Search and replace tricks with ripgrep (2020) (Lobsters)
- What are your favorite non-standard CLI utils/applications (2020)
- cheat.sh - Unified access to the best community driven cheat sheets. Available via CLI. (Web)
- My growing list of Rust programs to use (Lobsters)
- dasel - Allows you to query and modify data structures using selector strings.
- You Don't Need GUI - CLI commands as alternatives to GUI. (HN)
- CLI Guidelines - Guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day. (Code) (HN) (Lobsters)
- nq - Utils for creating lightweight job queue systems. (HN)
- Building Rich Terminal Dashboards (2021) (HN)
- frawk - JITted and SIMD-optimized AWK written in Rust. (Lobsters) (HN)
- How to Handle Secrets on the Command Line (2021) (HN)
- Modern Unix - Collection of modern/faster/saner alternatives to common unix commands.
- Awesome TUIs - List of projects that provide terminal user interfaces.
- Lobsters: What interesting command line tools do you use? (2021)
- binenv - One binary to rule them all. Manage all those pesky binaries (kubectl, helm, terraform, ...) easily.
- Command line tools for productive programmers (2021) (HN)
- Writing Programs with Ncurses (HN)
- Awk: The Power and Promise of a 40-Year-Old Language (2021) (HN)
- buke - Full text search man pages.
- Renamer - Rename files in bulk.
- CLI Testing Tool - Testing library that allows you to test input and outputs of your CLI command.
- bvm - Binary Version Manager.
- command-not-found.com - Install any command on any operating system.
- mdbook-man - Generate man pages from mdBooks.
- Powerful Terminal And Command-Line (CLI) Tools For Modern Web Development (2021)
- GoAWK - AWK interpreter written in Go. (Article)
- htop - Cross-platform interactive process viewer. (Web)
- hgrep - Grep with human-friendly search results.
- Ask HN: What are the best and worst command-line interfaces you have used? (2021)
- Command Line Magic Twitter (Web)
- Tips on adding JSON output to your CLI app (2021) (HN)
- Why and How to add changelog in your next CLI (2021)
- A practical overview of most useful Unix tools (2021) (HN)
- fq - jq for binary formats. (HN)
- termshot - Creates screenshots based on terminal command output.
- aqua - CLI tool to install CLI tools with declarative YAML configuration. (Docs)
- Supreme - Add configurations, GitHub actions and get started quickly with new projects.
- Bina - Installer for self-contained, single-file binaries, no additional CLI needed. (Code)
- Nice CLIs
- Charm - Tools to make the command line glamorous. (HN)
- Quick reference on command line tools and techniques
- Grep flags – the good stuff (HN)
- SnipKit - Snippet CLI manager for quickly accessing code snippets without leaving the terminal.
- pz - Easily handle CLI operation via Python instead of regular Bash programs. (HN)
- Scaffolder - Increasing dev velocity and standardizing file conventions.
- crispr - CLI tool allowing to scaffold a project from a template with a .crispr.{toml,json} configuration file.
- envy - Sets environment variables when you enter a directory.
- timer - sleep with progress.
- hwatch - Modern alternative to the watch command, records the differences in execution results and can check this differences at after.
- lets-run - Run a command when a certain file exists, and/or watch files to rerun on changes.
- eg - Useful examples at the command line.
- zf - Command line fuzzy finder that prioritizes matches on filenames.
- NO_COLOR - Disabling ANSI color output in various Unix commands. (HN)
- igrep - Interactive Grep.
- Argc - Handy way to handle sh/bash cli parameters.
- qsv - Ultra-fast CSV data-wrangling CLI toolkit.
- More Than a Dozen Command Line Tools I've Written—and So Can You (2018)
- Track changes to CLI tools by recording their help output (HN)
- Scout - Friendly fuzzy finder made in rust.
- fzf - Fommand-line fuzzy finder. (HN)
- Making the command line glamorous with Toby Padilla (2022)
- septum - Context-based code search tool.
- has - Checks presence of various command line tools and their versions on the path.
- Fig Manual Pages - Beautiful, community-driven documentation for 300+ CLI tools.
- csvlens - CSV file viewer in the command line.
- Difftastic - Diff tool that compares files based on their syntax. (HN)
- Goreman - Manage Procfile-based applications.
- Testing your CLI - Go package simplifies testing of command-line interfaces.
- Periscope - Gives you "duplicate vision" to help you organize and de-duplicate your files without losing data.
- Wiki CLI - View Wikipedia articles through the CLI.
- tush - Literate testing for command-line programs.
- -h --help -help help --? -? ???? (2022) (Lobsters) (HN)
- New(ish) command line tools (2022) (HN)
- ff - Find files by name, fast.
- cexec - Run commands and cache their output for a specific amount of time.
- Hoard - CLI command organizer written in rust.
- A Simple Ejectable CLI Pattern (2022)
- rush - Command-line utility that lets you run one command on many files using a simple command template syntax.
- mprocs - Runs multiple commands in parallel and shows output of each command separately.
- CLET - Command Line E2E Testing.
- climod - Modular generated command line interfaces using the same technology as the NixOS module system.
- The sort --key Trick
- UX patterns for CLI tools (2022) (Lobsters)
- forever - Simple CLI tool for ensuring that a given script runs continuously (i.e. forever).
- Best practices for inclusive CLIs (2022) (Lobsters) (HN)
- tuc - When cut doesn’t cut it. (HN)
- linebyline - Command line text processor.
- Viddy - Modern watch command. Time machine and pager etc. (HN)
- cronlocker - Command line tool to allow running cronjobs on multiple hosts while ensuring that it only runs once at a time.
- pipe-rename - Rename your files using your favorite text editor.
- Backpack - Use template and starter projects easily.
- tere - Faster Alternative to cd+ls. (HN)
- bin - Manages binary files downloaded from different sources.
- catp - Print the output of a running process.
- lurk - Simple and pretty alternative to strace. Allows the user to trace system calls of a process or of a command.
- wrappe - Packer to create self-contained single-binary applications from executables and directory trees.
- Gum - Tool for glamorous shell scripts. Leverage the power of Bubbles and Lip Gloss in your scripts and aliases without writing any Go code. (Lobsters) (HN)
- Things I've learned building a modern TUI framework (2022) (HN)
- trashy - Simple, fast, and featureful alternative to rm and trash-cli written in rust.