# eza — A Modern Colorful Replacement for ls > eza is a modern replacement for the venerable ls command. Adds colors, Git status, file type icons, tree view, and long-format improvements. Actively maintained fork of the archived exa project. ## Install Save the content below to `.claude/skills/` or append to your `CLAUDE.md`: ## Quick Use ```bash # Install brew install eza # macOS sudo apt install eza # Debian/Ubuntu cargo install eza # Rust scoop install eza # Windows # Replace ls in shell config alias ls="eza" alias ll="eza -lbhF --git" alias la="eza -labhF --git" alias lt="eza --tree --level=2" ``` Usage: ```bash eza # Colorful ls eza -l # Long format eza -l --git # Show git status eza --tree # Tree view eza -T --level=3 # Tree with depth limit eza --icons # File type icons (needs Nerd Font) eza -l --sort=modified # Sort by mtime eza -l --group-directories-first ``` ## Intro eza is a modern, maintained replacement for the venerable `ls` command. Fork of the archived `exa` project with active development and new features. Written in Rust with colors, Git status, file icons, tree view, and better long-format output. A quality-of-life upgrade every terminal user can appreciate. - **Repo**: https://github.com/eza-community/eza - **Stars**: 21K+ - **Language**: Rust - **License**: EUPL 1.2 ## What eza Does - **Colors by file type** — via LS_COLORS or custom scheme - **Git status** — show modified/added/ignored files - **File icons** — Nerd Font icons for file types - **Tree view** — recursive with depth control - **Long format** — human-readable sizes, permissions, modified time - **Extended attrs** — xattrs, ACLs, selinux - **Sort options** — name, size, mtime, accessed, created - **Filters** — only dirs, only files, hidden ## Architecture Single Rust binary, replaces ls. Reads filesystem + optional git repo state + file metadata. Parses LS_COLORS for theming. Uses Unicode width for correct alignment. ## Self-Hosting CLI tool. ## Key Features - Drop-in ls replacement - Git integration - Nerd Font icons - Tree view - Color scheme support - Accurate Unicode width - Actively maintained (unlike archived exa) - Cross-platform ## Comparison | Tool | Git | Icons | Tree | Maintained | |---|---|---|---|---| | eza | Yes | Yes | Yes | Yes | | exa | Yes | Yes | Yes | Archived | | lsd | Yes | Yes | Yes | Yes | | ls (GNU) | No | No | Partial | Yes | | tree | No | Partial | Yes | Yes | ## FAQ **Q: eza vs lsd?** A: Both are great. eza is closer to the standard ls usage and long-format output; lsd has a flashier default look. Personal preference. **Q: Icons show as garbled characters?** A: Install a Nerd Font (like JetBrainsMono Nerd Font or FiraCode NF) and enable it in your terminal. **Q: Can it fully replace ls?** A: 90% compatible, but do not replace the ls used by system scripts (POSIX requirement). Use a shell alias or PATH override that only affects interactive shells. ## Sources - Docs: https://eza.rocks - GitHub: https://github.com/eza-community/eza - License: EUPL 1.2 --- Source: https://tokrepo.com/en/workflows/eza-modern-colorful-replacement-ls-d3b64cc3 Author: Script Depot