← All posts

CLI

eza: A Modern ls With Colors, Icons, and Git Awareness

eza is a modern replacement for ls - colors, icons, a tree view, and git status columns, all from a single fast binary.

E CLI

ls hasn't changed in decades, and mostly that's fine - until you want it to show you a bit more. eza is a modern, maintained replacement (the successor to the popular exa) that keeps the familiar feel while adding color-coded file types, optional icons, a built-in tree view, human-readable sizes, and columns for git status - so a directory listing tells you more at a glance without extra commands.

The Listing You Wish ls Gave You

Most people alias it over ls and never look back:

# A detailed, colorized listing with git status eza -l --git # A tree, two levels deep, directories first eza --tree --level=2 --group-directories-first # Common alias alias ls='eza --group-directories-first'

Small Touches That Add Up

Git columns show which files are modified or untracked right in the listing, the tree view removes the need for a separate tree command, and grouping directories first makes the output easier to scan. None of it is essential; all of it is pleasant.

Rough Edges and Limitations

  • Icons need a Nerd Font. The nicest output assumes a patched terminal font installed.
  • Not 100 percent ls-compatible. A few flags differ, so scripts should still call ls.
  • Cosmetic, mostly. The wins are quality-of-life, not capability - worth it, but modest.

It's the kind of upgrade you forget you installed until you're on a machine without it and the plain ls output suddenly feels bare.

Internal link suggestion: link "tree view" to the broot or yazi post for richer directory navigation.