Replace ls with exa for Modern Directory Listings with Git Integration

User avatar placeholder
Written by Tamzid Ahmed

June 1, 2026

Tired of the plain ls command? exa modernizes your terminal with Git status, colorized output, and tree views—all in one command. Here’s how to upgrade your workflow.

Why Replace ls with exa?

While ls has been the standard directory listing tool for decades, it lacks modern features developers need today. Replace ls with exa to gain Git integration, intuitive color schemes, and faster navigation—without sacrificing simplicity.

Git Integration for Version Control Insights

Unlike ls, exa displays Git status directly in directory listings. Use exa --git to see staged, modified, or untracked files at a glance. This eliminates the need to run separate git status commands, saving precious time during development cycles.

Enhanced Visuals and Readability

exa’s color-coded output highlights file types, permissions, and metadata. For example, executables appear in green, directories in blue, and symlinks in cyan. This visual hierarchy makes it easier to scan directories quickly compared to ls‘s monochrome output.

Installing exa Across Platforms

Getting started with exa is straightforward. Here’s how to install it on your system:

  1. macOS: brew install exa
  2. Linux: sudo apt install exa (Debian/Ubuntu) or sudo dnf install exa (Fedora)
  3. Windows: scoop install exa or via Chocolatey

Key exa Features for Developers

Git Status in Directory Listings

Run exa -l --git to see file statuses like M (modified), A (added), or D (deleted). This integration works seamlessly with your existing Git repositories, providing real-time version control insights directly in your terminal.

Tree View and File Metadata

Use exa -T to generate a tree structure of your directory. Combined with --long, it shows detailed metadata like file size, modification date, and permissions—all in a clean, readable format.

Customizing Color Schemes

Adjust exa’s colors to match your terminal theme using the --color-scale flag. For example, exa --color-scale=gradient applies a color gradient based on file age, making it easier to spot recent changes.

Practical Usage Examples

Here are common commands to maximize exa‘s potential:

  • exa -la --git: Show hidden files with Git status
  • exa --group-directories-first: Prioritize directories in listings
  • exa -s size: Sort files by size for quick analysis

Conclusion

Replacing ls with exa is a simple yet powerful upgrade for any developer’s toolkit. With built-in Git integration, intuitive visuals, and customizable options, exa streamlines directory navigation and boosts productivity. Start using it today by installing via your preferred package manager and experimenting with its flags—your terminal workflow will thank you.

Leave a Comment