Skip to content

eza Setup: Icons and Colors for Terminal Listings

First PublishedByAtif Alam

eza is a fast, Rust-based directory lister for the terminal: icons, colors, tree view, and optional git column without Ruby gems.

Terminal window
brew install eza
Terminal window
nano ~/.zshrc

Append:

Terminal window
# eza — ls replacement (icons, trees)
alias ls='eza --icons --group-directories-first'
alias ll='eza -lhA --icons --group-directories-first'
alias lt='eza --tree --icons --level=2'
alias lta='eza --tree --icons --long -h --level=3'

Reload:

Terminal window
source ~/.zshrc
CommandDescription
lsColorized list with icons (via alias)
llLong listing, hidden files, human-readable sizes
ltTree view, depth 2
ltaTree with sizes, depth 3
eza --level=4Tree with custom depth
lt /Volumes/YourDriveTree of a mounted volume (substitute your path)

Interpret these tokens as eza options:

--icons # icons
-l, --long # permissions, owner, size, time
-a, --all # include hidden entries
-h # human-readable sizes (prefer -h; --human-readable is rejected on some eza builds)
--tree # nested layout
--level=N # cap tree depth
--group-directories-first # folders before files
--git # short git hints per row
--sort=name|modified|size|ext # common sort fields
Terminal window
eza --tree --long -h --level=2 /Volumes/YourDrive
eza -lh --sort=size
eza -lah --git ~/projects/myrepo
eza -D

Ruby-based colorls is easy to break on newer macOS; it depends on gems and interpreter versions your shell may not guarantee.

Topiccolorlseza
LanguageRuby gemRust binary
SpeedSlowFast
MaintenanceMostly abandonedActively maintained
DependenciesRuby, gemsSingle binary via Homebrew
Apple Silicon / recent macOSOften problematicWidely used

Together with lsd and plain ls, eza is a pragmatic default when you want icons, trees, and consistent performance without a Ruby stack.