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.