Top 20 Must‑Have CLI Tools Every Developer Should Use
This article presents a curated list of essential command‑line tools—from modern shells and version managers to system monitors and database clients—detailing their key features, usage benefits, and download links, helping developers boost productivity across diverse programming tasks.
Programmers rely on terminal CLI tools as essential productivity utilities; here is a curated list of recommended tools.
1. fish shell
Fish is an advanced shell offering features like autosuggestions, syntax highlighting, and shortcuts for switching between recent directories.
Download: https://fishshell.com/
2. Starship
Starship works with any shell; after a single configuration line, it provides a smart, customizable prompt showing git status, language versions, command duration, and error indicators.
Download: https://starship.rs/
3. z
z lets you quickly jump between directories by learning your navigation history; use z folder_name to switch, based on a frecency algorithm.
Download: https://github.com/rupa/z
4. fzf
fzf is a fuzzy finder that lets you search files, command history, processes, git commits, etc., by typing partial strings.
Download: https://github.com/junegunn/fzf
5. fd
fd is a faster, user‑friendly alternative to find, ignoring hidden and .gitignore files by default and offering colorful output.
Download: https://github.com/sharkdp/fd
6. ripgrep
ripgrep (rg) is a faster, feature‑rich replacement for grep with sensible defaults and colorful output.
Download: https://github.com/BurntSushi/ripgrep
7. htop and glances
htop is a colorful, interactive replacement for top, while glances adds system‑wide metrics such as network, disk, filesystem usage, sensor data, and resource‑heavy processes.
htop: https://hisham.hm/htop/ glances: https://nicolargo.github.io/glances/
8. virtualenv and virtualfish
virtualenv creates isolated Python environments; virtualfish adds similar management commands to the Fish shell.
virtualenv: https://pypi.org/project/virtualenv/ virtualfish: https://github.com/justinmayer/virtualfish
9. pyenv, nodenv and rbenv
These tools manage multiple versions of Python, Node, and Ruby, allowing per‑project version switching and isolation.
pyenv: https://github.com/pyenv/pyenv nodenv: https://github.com/nodenv/nodenv rbenv: https://github.com/rbenv/rbenv
10. pipx
pipx installs Python CLI tools in isolated environments, avoiding dependency conflicts while keeping the commands globally available.
Download: https://github.com/pipxproject/pipx
11. ctop and lazydocker
ctop provides a top‑like UI for Docker containers, showing status, stats, and quick actions; lazydocker offers a richer terminal UI for Docker management.
ctop: https://github.com/bcicen/ctop lazydocker: https://github.com/jesseduffield/lazydocker
12. Homebrew
Homebrew is the de‑facto package manager for macOS, simplifying software installation.
Download: https://brew.sh/
13. asciinema
asciinema records terminal sessions that can be replayed and copied, making it ideal for coding tutorials.
Download: https://asciinema.org/
14. colordiff and diff‑so‑fancy
colordiff adds color to diff output; diff‑so‑fancy further improves readability by highlighting word differences and cleaning up symbols.
colordiff: https://www.colordiff.org/ diff‑so‑fancy: https://github.com/so-fancy/diff-so-fancy
15. tree
tree displays directory structures in a readable tree format.
$ tree .
.
├── recovery.md
├── README.md
├── archive
├── automator
│ ├── Open Iterm2.workflow
│ │ └── Contents
│ │ ├── Info.plist
│ │ ├── QuickLook
│ │ │ └── Thumbnail.png
│ │ └── document.wflow
│ └── Start Screen Saver.workflow
├── brew-cask.sh16. bat
bat is a cat clone with syntax highlighting, Git integration, and automatic paging.
Download: https://github.com/sharkdp/bat
17. httpie
httpie provides a more intuitive, color‑rich alternative to curl for making HTTP requests.
Download: https://httpie.org/
18. tldr
tldr offers concise, example‑driven help pages as a quicker alternative to full man pages.
Download: https://tldr.sh/
19. exa
exa is a modern, colorful replacement for ls that shows git status and human‑readable file sizes while maintaining speed.
Download: https://the.exa.website/
20. litecli and pgcli
litecli and pgcli provide enhanced, auto‑complete, syntax‑highlighted CLIs for SQLite and PostgreSQL.
litecli: https://litecli.com/ pgcli: https://www.pgcli.com/
21. mas
mas is a CLI tool for installing macOS App Store applications.
Download: https://github.com/mas-cli/mas
22. ncdu
ncdu is a fast disk usage analyzer for the terminal, useful for freeing up space.
Download: https://dev.yorhel.nl/ncdu
The list is extensive, and readers are encouraged to share additional useful tools.
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.
Java Backend Technology
Focus on Java-related technologies: SSM, Spring ecosystem, microservices, MySQL, MyCat, clustering, distributed systems, middleware, Linux, networking, multithreading. Occasionally cover DevOps tools like Jenkins, Nexus, Docker, and ELK. Also share technical insights from time to time, committed to Java full-stack development!
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.
