eza: a modern ls replacement with Git, hyperlinks, and SELinux support
E

eza: a modern ls replacement with Git, hyperlinks, and SELinux support

eza: a modern ls replacement with Git, hyperlinks, and SELinux support

22,447 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

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 -l in a Git repository, it shows you the status of each file—modified, staged, untracked, all that good stuff. No more switching between ls and git status to 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

Did you like this issue?

Join our weekly newsletter

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Jun 16, 2026