explaingit

ogham/exa

Analysis updated 2026-05-18

24,443RustAudience · developerComplexity · 2/5LicenseSetup · 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
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

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.

What is it built with?

Rust

How does it compare?

ogham/exabiomejs/biomeactix/actix-web
Stars24,44324,56624,608
LanguageRustRustRust
Setup difficultyeasyeasymoderate
Complexity2/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get 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.

Frequently asked questions

What is exa?

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

What language is exa written in?

Mainly Rust. The stack also includes Rust.

What license does exa use?

Use freely for any purpose including commercial, as long as you keep the copyright notice.

How hard is exa to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is exa for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub ogham on gitmyhub

Verify against the repo before relying on details.