TL;DR — Quick Summary

eza is a modern ls replacement with syntax-highlighted colors, Git status per file, icons, tree view, and header columns. The maintained fork of exa.

eza makes listing files beautiful and informative. Colors, icons, Git status, tree view — all in a drop-in ls replacement.

Installation

# macOS
brew install eza

# Arch Linux
sudo pacman -S eza

# Ubuntu/Debian
sudo apt install eza

# Cargo
cargo install eza

Usage

# Basic (colorized, better defaults)
eza
eza -la

# With icons
eza --icons
eza -la --icons

# Tree view (replaces tree command)
eza --tree
eza --tree --level=2
eza --tree --level=3 --icons

# Git status per file
eza -l --git

# Group directories first
eza --group-directories-first

# Sort options
eza --sort=size        # By size
eza --sort=modified    # By modification time
eza --sort=name        # Alphabetical
eza --sort=extension   # By extension

# Filter
eza -d */              # Directories only
eza **/*.rs            # Glob pattern

# Headers (column names)
eza -lh --icons --git

# Time format
eza -l --time-style=long-iso
# Add to .bashrc / .zshrc
alias ls='eza --icons --group-directories-first'
alias ll='eza -la --icons --git --group-directories-first'
alias lt='eza --tree --level=2 --icons'
alias la='eza -a --icons'

Comparison

Featureezalslsdtree
ColorsType-basedBasicType-basedBasic
IconsYesNoYesNo
Git statusPer-fileNoNoNo
Tree viewYesNoYesYes
HeadersYesNoNoN/A
SpeedFastFastestFastFast

Summary

  • eza is a modern ls with colors, icons, Git status, and tree view
  • Community-maintained fork of exa with active development
  • Drop-in ls replacement — alias ls=‘eza’ and never look back
  • Tree view replaces the tree command with better output
  • Sort by size, modified, name, or extension