Back

A Tour of Handy Linux Tools for Modern Devs

A Tour of Handy Linux Tools for Modern Devs

You already know grep, find, and ls. You’ve configured your shell and picked a terminal emulator you like. But the Linux CLI ecosystem has evolved significantly, and many modern Linux CLI tools now outperform their traditional counterparts in speed, usability, and output clarity. This tour covers the developer command-line utilities worth adding to your frontend workflow—tools that solve real problems without requiring you to relearn fundamentals.

Key Takeaways

  • Modern Rust-based CLI tools like ripgrep, fd, bat, and eza offer faster performance and better defaults than traditional Unix utilities.
  • Fuzzy finders like fzf and directory jumpers like zoxide dramatically reduce navigation time in large codebases.
  • Git workflow tools such as delta, lazygit, and GitHub CLI streamline version control without requiring you to leave the terminal.
  • These tools work best when integrated together—configure them to complement each other for compounding productivity gains.

Modern CLI Replacements That Actually Matter

The current generation of Rust-based Linux developer tools isn’t hype. These replacements are faster, produce better output, and respect modern conventions.

ripgrep (rg) searches code faster than grep and respects .gitignore by default. When you’re hunting through a monorepo with thousands of files, the difference is measurable in seconds, not milliseconds.

fd replaces find with sane defaults. It ignores hidden files and .gitignore entries unless told otherwise, uses regex by default, and produces colorized output. Finding all TypeScript files becomes fd -e ts instead of find . -name "*.ts".

bat adds syntax highlighting and line numbers to cat. Useful when quickly inspecting config files or piping output through a pager.

eza (the maintained fork of exa) modernizes ls with git status integration, better defaults for tree views, and readable timestamps.

These aren’t toys. They’re Linux productivity tools that reduce friction in tasks you perform hundreds of times daily.

Fuzzy Finding and Navigation

fzf is a fuzzy finder that integrates with your shell, editor, and nearly anything that produces text. Pipe file lists, git branches, or command history through it, and you get instant interactive filtering. Binding Ctrl+R to fzf-powered history search alone justifies installation.

zoxide tracks directories you visit and lets you jump to them with partial matches. After a few days of use, z proj takes you to /home/user/code/client-project without typing the full path.

Git Workflow Tools for Frontend Developers

delta transforms git diff output with syntax highlighting, line numbers, and side-by-side views. Configure it as your default pager and diffs become readable instead of merely tolerable.

lazygit provides a terminal UI for git operations. Staging hunks, interactive rebasing, and navigating commit history become visual and fast. It doesn’t replace knowing git—it accelerates using it.

gh (GitHub CLI) lets you create PRs, review issues, and trigger workflows without leaving the terminal. For frontend developers working in GitHub-centric teams, gh pr create and gh run watch eliminate context switches.

JavaScript Runtime and Version Management

The Node ecosystem moves fast. Linux tools for frontend developers need to handle multiple runtime versions cleanly.

fnm (Fast Node Manager) switches Node versions quickly and integrates with .nvmrc and .node-version files. It’s faster than nvm because it’s written in Rust and keeps shell initialization overhead minimal.

pnpm deserves mention as a package manager that uses hard links to save disk space and installation time. On large projects with many dependencies, the difference is substantial.

JSON, YAML, and API Testing

jq parses and transforms JSON from the command line. When debugging API responses or processing build output, curl api.example.com | jq '.data.items[0]' extracts exactly what you need.

yq does the same for YAML—essential when working with CI configs, Kubernetes manifests, or any modern infrastructure tooling.

httpie offers a more readable alternative to curl for testing HTTP endpoints. The syntax is intuitive: http POST api.example.com/users name=test.

System Visibility Without the Noise

btop replaces htop with better visuals and resource monitoring. When your build process consumes unexpected memory or CPU, you’ll see it immediately.

ncdu provides interactive disk usage analysis. Finding what’s eating your drive space takes seconds instead of chaining du commands.

Making These Tools Work Together

The value of modern Linux developer tools compounds when they integrate. Configure fzf to use fd for file finding and bat for previews. Set delta as your git pager. Alias common ripgrep patterns.

These aren’t replacements for understanding Unix fundamentals—they’re accelerators built on top of them. Each tool earns its place by solving a specific problem better than the default option.

Conclusion

Start with one or two tools that address your current friction points. Once they’re muscle memory, add more. The goal isn’t to replace everything at once but to incrementally reduce the small inefficiencies that accumulate throughout your workday. Each tool mentioned here has proven its worth in real development workflows—pick the ones that match your pain points and let them earn their place in your toolkit.

FAQs

Yes, most of these tools are cross-platform. ripgrep, fd, bat, eza, fzf, and zoxide all work on macOS and Windows. Some require minor installation differences, such as using Homebrew on macOS or Scoop on Windows, but the commands and functionality remain consistent across operating systems.

No, these tools install alongside traditional utilities rather than replacing them. Your existing scripts continue using grep and find as before. The modern alternatives use different command names like rg and fd, so you can adopt them gradually for interactive use while keeping scripts unchanged.

fzf is commonly configured to use fd for file discovery and bat for previews, giving fast search with syntax-highlighted results. The exact setup varies by shell and preference, but most users wire these tools together for interactive file picking.

Yes, fnm is noticeably faster because it is written in Rust and uses a different architecture. nvm runs as a shell function that adds startup overhead to every new terminal session. fnm loads almost instantly and switches Node versions without the delay that nvm users commonly experience.

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay