Fundamentals 16 min read

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.

Java Backend Technology
Java Backend Technology
Java Backend Technology
Top 20 Must‑Have CLI Tools Every Developer Should Use

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.sh

16. 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.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

CLIShellcommand-lineDevTools
Java Backend Technology
Written by

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!

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.