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: 两者都不错。eza 更接近 ls 的用法和长格式输出;lsd 预设更花哨。看个人偏好。
Q: 图标乱码? A: 需要安装 Nerd Font(如 JetBrainsMono Nerd Font、FiraCode NF)并在终端里启用。
Q: 能完全替换 ls 吗? A: 90% 兼容,但不要替换系统脚本用的 ls(POSIX 要求)。用 shell alias 或 PATH 覆盖只影响交互式 shell。
来源与致谢 Sources
- Docs: https://eza.rocks
- GitHub: https://github.com/eza-community/eza
- License: EUPL 1.2