Boost Your Terminal Productivity: 23 Must‑Have CLI Tools for Developers
Drawing on years of terminal experience, the author curates a comprehensive list of 23 practical CLI tools—including shells, prompt managers, file finders, process monitors, version managers, and more—explaining their key features, usage tips, and download links to help developers work faster and more efficiently.
Fish shell
Fish is an interactive shell with autosuggestions, syntax highlighting, and directory navigation. No configuration is required for beginners, but its scripting syntax differs from Bash/Zsh, so Bash scripts must be run in a Bash session or adapted.
Download URL: https://fishshell.com/
Fish plugins (managed with Fisher)
franciscolourenco/done– sends a notification when a long‑running script finishes. evanlucas/fish-kubectl-completions – provides kubectl completions. fzf – integrates the fuzzy finder with Fish.
Starship prompt
Starship is a fast, Rust‑based cross‑shell prompt. Add a single line to .bashrc, .zshrc or config.fish to enable it.
Features include Git status symbols, language version indicators (Python, Go, Node, Rust, etc.), command execution time, error indicator, and context‑aware hiding of irrelevant sections.
Download URL: https://starship.rs/
z (directory jumper)
Tracks directory usage with a frecency algorithm (frequency + recency). Jump to a directory with z <em>pattern</em>. The data file can be edited to remove unwanted entries.
Download URL: https://github.com/rupa/z
fzf (fuzzy finder)
Interactive fuzzy finder for files, command history, Git commits, etc. In Fish, the fish-fzf plugin provides convenient shortcuts.
Download URL: https://github.com/junegunn/fzf
fd (modern find)
Drop‑in replacement for find with simpler syntax and sensible defaults (ignores hidden files and entries in .gitignore). Example: fd invoice finds any file named “invoice”. To disable ignore rules, use an alias such as alias fda='fd -IH'.
Download URL: https://github.com/sharkdp/fd
ripgrep (rg)
Fast grep alternative that respects .gitignore and hidden files. To mimic standard grep behavior, define alias rga='rg -uuu' which disables all smart filtering.
Download URL: https://github.com/BurntSushi/ripgrep
htop and glances
htopis a colorful, interactive replacement for top. glances complements it by showing network, disk usage, filesystem space, sensor data, and the most resource‑hungry processes.
Downloads: https://hisham.hm/htop/ and https://nicolargo.github.io/glances/
virtualenv and virtualfish
virtualenvcreates isolated Python environments (preferred over the built‑in venv). virtualfish provides similar management for the Fish shell.
Downloads: https://pypi.org/project/virtualenv/ and https://github.com/justinmayer/virtualfish
pyenv, nodenv, rbenv
Version managers for Python, Node.js, and Ruby that allow per‑project version selection and isolation.
Downloads: https://github.com/pyenv/pyenv, https://github.com/nodenv/nodenv, https://github.com/rbenv/rbenv
pipx
pipxinstalls Python CLI tools in isolated environments while exposing their commands globally, avoiding dependency conflicts.
Download URL: https://github.com/pipxproject/pipx
ctop and lazydocker
ctopprovides a top‑like UI for Docker containers, showing status, resource usage, and quick actions. lazydocker offers a richer terminal UI for Docker management.
Downloads: https://github.com/bcicen/ctop and https://github.com/jesseduffield/lazydocker
Homebrew
macOS package manager. Install with
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)". A GUI front‑end called Cakebrew is optional.
Download URL: https://brew.sh/
asciinema
Records terminal sessions as plain‑text recordings that can be replayed or copied, making them ideal for tutorials.
Download URL: https://asciinema.org/
colordiff and diff-so-fancy
colordiffadds color to diff output. diff-so-fancy further improves readability by highlighting changed words, simplifying headers, and removing extraneous symbols.
Downloads: https://www.colordiff.org/ and https://github.com/so-fancy/diff-so-fancy
tree
Displays directory structures as a visual tree. Install via brew install tree or apt-get install tree.
$ tree .
.
├── recovery.md
├── README.md
├── archive
├── automator
│ ├── Open\ Iterm2.workflow
│ │ └── Contents
│ │ ├── Info.plist
│ │ ├── QuickLook
│ │ │ └── Thumbnail.png
│ │ └── document.wflow
│ └── Start\ Screen\ Saver.workflow
├── brew-cask.shbat
Drop‑in replacement for cat that adds syntax highlighting, Git gutter markers, and automatic paging.
Download URL: https://github.com/sharkdp/bat
httpie
Human‑friendly HTTP client with a simpler syntax than curl, colored output, and plugin support for authentication.
Download URL: https://httpie.org/
tldr
Community‑maintained simplified cheat‑sheets for common commands, providing concise examples instead of full man pages.
Download URL: https://tldr.sh/
exa
Modern, colorful replacement for ls that shows Git status, human‑readable file sizes, and optional tree view.
Download URL: https://the.exa.website/
litecli and pgcli
Enhanced CLI clients for SQLite ( litecli) and PostgreSQL ( pgcli) with auto‑completion and syntax highlighting.
Downloads: https://litecli.com/ and https://www.pgcli.com/
mas
CLI for installing macOS App Store applications, useful for automating software setup on new machines.
Download URL: https://github.com/mas-cli/mas
ncdu
Interactive disk‑usage analyzer for the terminal.
Download URL: https://dev.yorhel.nl/ncdu
Summary
The tools listed provide faster, more ergonomic alternatives to classic Unix utilities. Replacing find with fd, grep with ripgrep, or curl with httpie can noticeably speed up workflows and improve output readability.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Liangxu Linux
Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
