Stop Typing ls -la Like It's 1970: Meet eza, a Modern File Lister That Actually Understands Git and SELinux
You know the drill. You open a terminal, type ls, and get a wall of monochrome text that tells you almost nothing useful. Then you type ls -la and squint at the output, mentally parsing permissions and ownership while your brain tries to remember what that cryptic drwxr-xr-x actually means. For decades, this has been the Unix file-listing experience, and honestly? It's time for an upgrade.
Enter eza—a modern drop-in replacement for ls that's written in Rust, ships as a single binary, and comes with features that make the original feel like a museum piece. It's small, it's fast, and it's designed for developers who actually use their terminal.
What It Does
eza is a command-line tool that lists files and directories, just like ls. But where ls stops at showing you filenames and basic metadata, eza keeps going. It uses color to distinguish file types and metadata automatically. It understands symlinks, extended attributes, and Git repositories. It can display SELinux context output and mount point details. And it renders everything in a grid layout that actually works—no more misaligned columns or truncated filenames.
The project is a community fork of exa, which was a popular ls alternative that unfortunately had a bug that broke its grid display (known as "The Grid Bug") and fell into maintenance limbo. eza picks up where exa left off, fixing that bug and adding a pile of new capabilities. It's written in Rust, which means it compiles to a single static binary with no runtime dependencies. You can grab it for Windows, macOS, or Linux and it just works.
Why It's Cool
Let me tell you what sold me on eza, because honestly, it's the details that matter here.
Git integration that actually helps. When you run
eza -lin a Git repository, it shows you the status of each file—modified, staged, untracked, all that good stuff. No more switching betweenlsandgit statusto figure out what's changed. It's right there in the file listing.Hyperlink support. This is one of those features you didn't know you needed until you have it. eza can output filenames as clickable hyperlinks in terminals that support them. You can click a filename in your terminal and open it directly. It's a small thing, but it changes how you interact with file listings.
SELinux context output. If you work on systems with SELin