ScriptsApr 11, 2026·2 min read

eza — A Modern Colorful Replacement for ls

eza is a modern replacement for the venerable ls command. Adds colors, Git status, file type icons, tree view, and long-format improvements. Actively maintained fork of the archived exa project.

TL;DR
eza replaces ls with colored output, Git status indicators, file type icons, tree view, and improved long-format display.
§01

What it is

eza is a modern replacement for the ls command. It adds colors by default, Git status indicators alongside file names, file type icons, tree view, and improved long-format output with human-readable file sizes and permission display. eza is the actively maintained fork of the archived exa project.

eza targets anyone who uses the terminal daily. It improves the most frequently used command (ls) with visual enhancements that surface useful information at a glance: which files are tracked by Git, which are ignored, and what changed.

§02

How it saves time or tokens

eza surfaces information that normally requires multiple commands. eza --git shows Git status inline with the file listing, replacing ls + git status. eza --tree replaces the separate tree command. eza --icons adds file type icons for instant visual recognition. All of this works with a single command and aliases.

§03

How to use

  1. Install eza: brew install eza on macOS, sudo apt install eza on Ubuntu, or cargo install eza.
  2. Run eza as a drop-in replacement for ls.
  3. Set shell aliases: alias ls='eza' and alias ll='eza -la --git --icons'.
§04

Example

# Install
brew install eza

# Basic usage (colored output by default)
eza

# Long format with Git status and icons
eza -la --git --icons

# Tree view
eza --tree --level=2

# Recommended aliases for .bashrc/.zshrc
alias ls='eza'
alias ll='eza -la --git --icons'
alias lt='eza --tree --level=2'
alias la='eza -a'
§05

Related on TokRepo

§06

Common pitfalls

  • eza requires a Nerd Font for icon display. Without a Nerd Font installed in your terminal, icons appear as missing character boxes. Use --no-icons if you do not have a Nerd Font.
  • Some eza flags differ from ls flags. eza -l works like ls -l but output formatting is different. Do not expect byte-for-byte identical output.
  • Git status integration adds overhead for repositories with many files. In very large repos, the --git flag may slow down listings.

Frequently Asked Questions

How does eza differ from exa?+

eza is the actively maintained community fork of exa, which was archived by its original author. eza receives bug fixes, new features, and platform updates. If you were using exa, switching to eza is recommended.

Does eza work as a drop-in ls replacement?+

Mostly yes. eza supports common ls flags like -l, -a, -r, -t, and -S. Some advanced ls flags may not be supported. Set alias ls=eza in your shell config for daily use.

What are Nerd Fonts?+

Nerd Fonts are patched fonts that include additional icons for file types, Git status, and other developer-relevant symbols. eza uses these icons for the --icons flag. Popular choices include FiraCode Nerd Font and JetBrains Mono Nerd Font.

Can eza show Git status for files?+

Yes. The --git flag shows Git status indicators (modified, staged, untracked, ignored) alongside each file. The --git-repos flag shows repository-level status in directory listings.

Does eza support Windows?+

Yes. eza supports Windows natively and via WSL. Install via Scoop (scoop install eza) on Windows. Colors and icons work in Windows Terminal and other modern terminal emulators.

Citations (3)
  • eza GitHub— eza is a modern replacement for ls with colors, Git status, and icons
  • eza Documentation— eza features and command-line options
  • eza README— Maintained fork of the archived exa project

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets