explaingit

eza-community/eza

Analysis updated 2026-06-21

21,668RustAudience · developerComplexity · 1/5LicenseSetup · easy

TLDR

eza is a modern replacement for the ls terminal command that adds colour-coded output, file icons, Git status per file, and tree views to make directory listings faster to read.

Mindmap

mindmap
  root((eza))
    What it does
      Modern ls replacement
      Colour output
      Git file status
    Display Modes
      Grid view
      Long list view
      Tree view
    Features
      File icons
      Hyperlinks
      Gitignore support
      Theme config
    Platforms
      Linux
      macOS
      Windows
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 terminal to get colour-coded file listings with per-file Git status without running extra commands.

USE CASE 2

Display a tree view of a project directory with file sizes, permissions, and Git state in one command.

USE CASE 3

Filter directory listings to show only files matching specific criteria, hiding dotfiles or respecting .gitignore entries.

What is it built with?

RustNix

How does it compare?

eza-community/ezaneondatabase/neonrust-lang/mdbook
Stars21,66821,74421,591
LanguageRustRustRust
Setup difficultyeasyhardeasy
Complexity1/54/52/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

Nerd Font needed for file icons, available through most package managers on Linux, macOS, and Windows.

You can use, modify, and distribute this software freely, but any changes you distribute must be released under the same EUPL copyleft license.

In plain English

eza is a modern, more colourful replacement for the venerable ls command that ships with every Unix and Linux system. Whenever you open a terminal and type ls, you get a plain list of the files and folders in the current directory, eza does the same job but with a richer, friendlier presentation, it uses colours to distinguish file types, can show icons next to file names if you have a Nerd Font installed, and adds extra metadata that the original ls cannot easily show. Under the hood eza is a single small, fast native binary written in Rust and licensed under EUPL. Its command-line options are similar in spirit to ls but expanded: you can ask for a one-per-line list, a grid, a long view with detailed attributes, or a tree view that recurses into subdirectories. It is aware of symbolic links and extended attributes, can show each file's Git status (modified, untracked, ignored) when you are inside a repository, can mark mount points, can output entries as terminal hyperlinks, and supports customising colours and icons through a theme.yml file. Filtering options let you hide or include dotfiles, respect .gitignore, ignore custom globs, or list only files or only directories. You would use eza any time you spend significant time at a shell prompt and want directory listings quicker to scan than plain ls output, particularly in Git repositories where seeing per-file Git state inline saves you running extra commands. It runs on Linux, macOS, and Windows, and is distributed through most package managers, if you use Nix with flakes, nix run github:eza-community/eza builds and runs it in one step.

Copy-paste prompts

Prompt 1
I just installed eza. What flags should I add to my shell aliases to replace ls, ll, and la with eza equivalents that show Git status and icons?
Prompt 2
Show me how to configure eza theme.yml to customise the colours for different file types and Git status indicators.
Prompt 3
Write a Nix flake configuration that adds eza as a shell tool so I can run it with nix run github:eza-community/eza.
Prompt 4
What eza command shows a recursive tree view of a directory with file sizes, modification dates, and the Git status of each file?

Frequently asked questions

What is eza?

eza is a modern replacement for the ls terminal command that adds colour-coded output, file icons, Git status per file, and tree views to make directory listings faster to read.

What language is eza written in?

Mainly Rust. The stack also includes Rust, Nix.

What license does eza use?

You can use, modify, and distribute this software freely, but any changes you distribute must be released under the same EUPL copyleft license.

How hard is eza to set up?

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

Who is eza for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub eza-community on gitmyhub

Verify against the repo before relying on details.