A modern, feature-rich replacement for the ls command with better defaults, colors, Git integration, and a single binary.
exa is a modern, feature-rich replacement for the traditional `ls` command-line program used in Unix and Linux environments. It provides enhanced file and directory listings with color-coded output, Git integration, and better visual defaults to improve clarity and usability. The project is designed as a single binary that is small, fast, and offers more intuitive options for daily command-line tasks.
exa is targeted at developers, system administrators, and power users who frequently use the command line for file management and seek a more informative and aesthetically pleasing alternative to `ls`. It is particularly useful for those working with Git repositories, needing detailed metadata, or preferring customizable views like tree or grid layouts.
Developers choose exa over traditional `ls` for its superior defaults, built-in Git status display, and rich feature set including icons, extended attributes, and flexible filtering. Its design prioritizes user-friendliness and visual organization, making it a practical upgrade for everyday file listing without sacrificing performance or simplicity.
A modern replacement for ‘ls’.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses color coding and optional icons to distinguish file types and metadata, making output more readable than plain `ls`.
Shows Git status (tracked, ignored) directly in listings with the --git flag, eliminating the need for separate commands.
Supports grid, tree, and long formats with customizable sorting by fields like size, time, or Git status, per the options list.
Can show extended details like inodes, hard links, multiple timestamps (accessed, modified, created), and extended attributes.
The README explicitly states exa is unmaintained and recommends using the fork eza, meaning no bug fixes or updates.
Command-line options differ from `ls` (e.g., --grid instead of -C), requiring users to relearn flags and potentially breaking muscle memory.
Building from source requires Rust and libgit2 for Git features, which can be cumbersome compared to installing standard system tools.