← Back to tools

eza

A modern replacement for ls

Description

eza is a modern, maintained replacement for the venerable ls command. It uses colors to distinguish file types and metadata, has detailed and readable output, and supports Git integration, tree view, and extended attributes.

Install

homebrewbrew install eza
aptsudo apt install eza
pacmansudo pacman -S eza
cargocargo install eza

AI Summary

Modern ls replacement with color-coded output, Git status integration, tree view, and extended file attributes. A maintained fork of the original exa.

Capabilities

  • + Colorized file listings with file type icons
  • + Git status for each file (staged, modified, untracked)
  • + Tree view for directory structures
  • + Extended attributes and metadata display
  • + Hyperlink support for terminal emulators
  • + Time-style formatting options

Use When

  • Need a better ls with colors and icons
  • Want to see git status inline with file listings
  • Displaying directory trees
  • Need detailed file metadata display

Avoid When

  • x Scripting that depends on ls output format (use ls for POSIX compliance)
  • x Minimal environments without modern terminal support
  • x Need exact ls compatibility for scripts

Usage Patterns

List files with details and git status

eza -la --git

Long listing with all files and git status column

Show directory tree

eza --tree --level=2

Display directory structure two levels deep

List files sorted by modification time

eza -l --sort=modified

Long listing sorted by most recently modified

Input / Output

stdout: Formatted file listings
Exit codes:
0 Success
1 Error

Typical Pipelines

eza --tree --level=3 --git-ignore
eza -1 | fzf

Related Tools

View AGENTS.md for eza