---
title: "Terminal Tools Every Developer Needs in 2026"
description: "A curated list of CLI tools that will transform your terminal workflow — from file navigation to git management and beyond."
pubDate: "2026-03-15"
category: tech
canonicalUrl: "https://demo.hexink.com/default/tech/terminal-tools-every-developer-needs/"
language: zh-TW
structuredDataType: TechArticle
tags: ["cli","tools","developer","productivity"]
heroImage: "https://images.unsplash.com/photo-1629654297299-c8506221ca97?w=1200&h=630&fit=crop"
heroAlt: "Terminal window with colorful command output on dark background"
series: "Notion-Powered Blog"
seriesOrder: 2
---

The terminal is where developers live. A well-configured terminal isn't just faster — it changes how you think about problems. Here are the tools I use daily and can't imagine working without.

## File Navigation: Beyond `cd` and `ls`

### zoxide — Smarter Directory Jumping

Stop typing full paths. `zoxide` learns your habits and jumps to directories by partial match:

```bash
# Instead of: cd ~/projects/hexink-blog/src/content
z hexink content

# It learns from frequency and recency
z blog    # → jumps to your most-used "blog" directory
```

Install it once, alias it to `cd`, and never look back.

### eza — `ls` But Better

`eza` (the maintained fork of `exa`) adds icons, git status, and tree views:

```bash
# Beautiful file listing with git status
eza -la --git --icons

# Tree view with depth limit
eza --tree --level=2 --icons
```

```
 drwxr-xr-x  src
├──  components
│  ├──  Header.astro
│  ├──  Footer.astro    (modified)
│  └──  PostCard.astro  (staged)
├──  content
│  └──  blog
└──  lib
   └──  utils.ts
```

## Git Workflow

### lazygit — Git TUI That Actually Works

If you find yourself running `git status`, `git add`, `git commit` in a loop, `lazygit` replaces the entire cycle with a single interactive UI:

```bash
lazygit
# Opens a full terminal UI:
# - Stage/unstage with spacebar
# - Commit with 'c'
# - Push with 'P'
# - Interactive rebase with drag-and-drop
```

The killer feature: **interactive rebase without fear.** You can reorder, squash, and edit commits visually, with undo at every step.

### delta — Beautiful Git Diffs

Replace the default `git diff` output with syntax-highlighted, side-by-side diffs:

```gitconfig
# ~/.gitconfig
[core]
    pager = delta

[delta]
    navigate = true
    side-by-side = true
    line-numbers = true
```

Once you see diffs with proper syntax highlighting, you can't go back.

## Text Processing

### ripgrep (`rg`) — Faster Than grep

`ripgrep` respects `.gitignore`, uses smart case, and is absurdly fast:

```bash
# Search for a pattern across your project
rg "useState" --type tsx

# Replace across files (with confirmation)
rg "oldFunction" --files-with-matches | xargs sed -i 's/oldFunction/newFunction/g'
```

On a large monorepo, `rg` returns results before `grep` finishes reading the directory tree.

### fzf — Fuzzy Find Everything

The Swiss Army knife of CLI tools. `fzf` adds fuzzy search to any list:

```bash
# Search files
fzf --preview 'bat --color=always {}'

# Search git branches
git branch | fzf | xargs git checkout

# Search command history
history | fzf
```

Combine `fzf` with `rg` for a search experience that rivals any IDE:

```bash
# Interactive project-wide search with preview
rg --line-number . | fzf --delimiter ':' --preview 'bat --color=always --highlight-line {2} {1}'
```

## Monitoring & System

### btop — System Monitor

Forget `htop`. `btop` provides CPU, memory, disk, and network monitoring with a polished UI:

```bash
btop
# Shows:
# - Per-core CPU usage with history graphs
# - Memory and swap with process breakdown
# - Disk I/O per device
# - Network up/down with history
```

### dust — Disk Usage, Visualized

Find what's eating your disk space:

```bash
dust ~/projects
# Shows a bar chart of directory sizes, sorted by size
# Way more intuitive than du -sh
```

## My Setup

Here's the relevant section of my shell config:

```bash
# ~/.zshrc (relevant aliases)
alias ls="eza --icons"
alias ll="eza -la --git --icons"
alias tree="eza --tree --icons"
alias cat="bat"
alias cd="z"
alias diff="delta"
alias top="btop"
alias du="dust"
alias find="fd"
alias grep="rg"
```

The theme: **replace every default tool with a modern alternative** that has better defaults, better output, and better performance.

## The Compound Effect

No single tool here is life-changing. But together, they compound. You navigate faster, search faster, commit faster, and debug faster. Over a year, the time savings are measured in weeks.

Start with one — I'd recommend `zoxide` — and add others as you feel the friction.

---

*This is part 2 of the [Notion-Powered Blog](../building-a-blog-with-notion-cms/) series. Part 1 covers how to set up Notion as your blog's CMS.*
