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
Recommended Aliases
# 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
| Feature | eza | ls | lsd | tree |
|---|---|---|---|---|
| Colors | Type-based | Basic | Type-based | Basic |
| Icons | Yes | No | Yes | No |
| Git status | Per-file | No | No | No |
| Tree view | Yes | No | Yes | Yes |
| Headers | Yes | No | No | N/A |
| Speed | Fast | Fastest | Fast | Fast |
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