explaingit

ogham/exa

24,439RustAudience · developerComplexity · 2/5StaleLicenseSetup · easy

TLDR

A modern, colorful replacement for the Unix ls command with Git awareness, tree views, and icon support, drop-in ready.

Mindmap

mindmap
  root((exa))
    What it does
      Colors files by type
      Shows Git status
      Tree view mode
      Icon support
    Why use it
      Cleaner output
      Better defaults
      Single binary
      No dependencies
    Use cases
      Browse Git repos
      Explore directories
      Terminal workflows
      File organization
    Tech stack
      Rust
      Unix compatible

Things people build with this

USE CASE 1

Replace ls in your shell to see files with color-coded types, permissions, and Git status at a glance.

USE CASE 2

Explore directory trees visually with built-in tree view instead of piping to other tools.

USE CASE 3

Quickly identify which files are tracked, modified, or ignored in a Git repository while browsing.

Tech stack

Rust

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose including commercial, as long as you keep the copyright notice.

In plain English

Exa is a modern replacement for ls, the classic Unix command-line tool for listing files in a directory. While ls has been around for decades and works, its defaults and output can feel dated and hard to read. Exa improves on it with color coding for different file types and permissions, built-in Git awareness (it can show whether a file is tracked, modified, or ignored by Git), better default formatting, tree views for exploring directory structures, and icon support in compatible terminals. It delivers all of this as a single small binary with no dependencies, designed to be a drop-in replacement you just call instead of ls. You would reach for exa when you spend a lot of time in the terminal and want a cleaner, more informative way to browse files and folders. It is especially useful for developers who work in Git repositories frequently. Note: exa is unmaintained. The active community fork is called eza, available at the eza-community/eza repository. The tech stack is Rust.

Copy-paste prompts

Prompt 1
Show me how to install exa and set it as an alias for ls in my shell.
Prompt 2
How do I use exa's tree view to explore a nested directory structure?
Prompt 3
What does exa show about Git status for files, and how do I enable that feature?
Prompt 4
Give me examples of exa commands that would replace common ls workflows I use daily.
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.