Terminal Tool Guides
Guides to command-line tools: step-by-step how-tos, modern replacements for Unix commands, alternatives, best-of lists and comparisons.
How-to
View all 20 →A terminal git workflow with lazygit and delta
Install lazygit and delta, set delta as git's pager, render lazygit diffs with it, and stage hunks, commit and rebase from the keyboard.
Back up a directory with restic
Back up a directory to a local disk or S3-compatible storage with restic: init a repo, exclude files, restore, prune old snapshots and schedule runs.
Benchmark shell commands with hyperfine
Time shell commands with hyperfine: warmup runs, cache-clearing with --prepare, side-by-side comparisons, parameter scans and Markdown or JSON export.
Change YAML configuration with yq
Read and update a nested YAML value with mikefarah/yq, preview the result, then write it to a disposable file.
Encrypt files with age
Encrypt files with age: generate a key, encrypt to one or more recipients or SSH keys, use a passphrase, and encrypt whole directories through tar.
Filter JSON logs and count errors with jq
Use jq to select errors from JSON Lines logs, keep useful fields, and count failures by service.
Modern replacements
View all 11 →Modern Replacements for curl
Replace curl with xh, HTTPie, curlie or Posting: HTTPie-style request syntax, formatted output, and a TUI option for saved requests.
Modern Replacements for df
duf and dysk compared as replacements for df: platforms, filtering, sorting, and JSON or CSV export for scripts.
Modern Replacements for du
Compare dust, dua, erdtree and pdu as replacements for du: output format, filtering, JSON output, gitignore handling and interactive deletion.
Modern Replacements for find
Replace find with fd, bfs or fselect: regex search with smart defaults, a breadth-first drop-in, or SQL-like file queries.
Modern Replacements for grep
Compare ripgrep, The Silver Searcher (ag) and rga as replacements for grep: defaults, file-type handling, and what each searches.
Modern Replacements for ls
Replace ls with eza, lsd, or exa for colors, Git status, tree view and richer long listings. Also covers broot, an interactive tree navigator.
Alternatives
View all 17 →Alacritty Alternatives
Alacritty alternatives: WezTerm, Kitty and Ghostty add tabs, splits and scripting; Windows Terminal and iTerm2 cover one OS each.
Claude Code Alternatives
Claude Code alternatives: OpenCode, Codex CLI, Gemini CLI, Aider and Goose compared by providers, agents, git handling and free tiers.
cmder Alternatives
cmder alternatives for Windows: Windows Terminal, WezTerm, and Tabby compared by shells, multiplexing, SSH, and configuration.
codex Alternatives
Codex alternatives: OpenCode, Claude Code, Gemini CLI, Aider and Goose compared by model support, interface and workflow.
gemini-cli Alternatives
Alternatives to gemini-cli: opencode, claude-code, codex, goose, and aider compared by provider support, agents, and workflow.
Ghostty Alternatives
Ghostty alternatives: WezTerm, Kitty and Alacritty compared by platform, built-in tabs and splits, scripting, and licensing.
Best tools for…
View all 28 →Best AI Coding Agents for the Terminal
Compare terminal AI coding agents: opencode, Claude Code, codex, Gemini CLI, aider, Goose and Open Interpreter by workflow and model support.
Best CLI File Transfer Tools
Compare croc, qrcp, rclone: workflows, strengths and tradeoffs.
Best CLI Secret Scanners
Compare gitleaks, TruffleHog, trivy: workflows, strengths and tradeoffs.
Best CLI Tools for Encrypting Files and Configuration
Compare age, sops, git-crypt: workflows, strengths and tradeoffs.
Best CLI Tools for Working on GitHub Actions
Compare act, zizmor, gh: workflows, strengths and tradeoffs.
Best Command-Line Benchmarking Tools
Compare hyperfine, wrk, hey and dnspyre for timing shell commands, HTTP endpoints and DNS servers from the command line.
Comparisons
View all 35 →Alacritty vs Ghostty
Alacritty (Rust, TOML, no tabs or splits) vs Ghostty (Zig, native UI, built-in tabs and splits): platforms, config and features compared.
Alacritty vs Kitty
Alacritty vs Kitty: a minimal TOML-configured Rust terminal versus a terminal with built-in tabs, splits, graphics protocol and kittens.
Alacritty vs WezTerm
Alacritty vs WezTerm: a minimal TOML-configured OpenGL terminal versus a Lua-scripted terminal with built-in tabs, splits and multiplexing.
Claude Code vs codex
Claude Code vs codex: install options, IDE and GitHub integrations, plugins, ChatGPT sign-in and platform support for two terminal AI coding agents.
gemini-cli vs Goose
gemini-cli vs Goose: a Gemini-only TypeScript terminal agent against a Rust agent with desktop app, CLI, API and 15+ providers.
gemini-cli vs Open Interpreter
gemini-cli vs Open Interpreter: a Gemini-backed terminal agent in TypeScript against a Python tool that runs LLM-written code locally.