Operations 7 min read

Boost Your Terminal Productivity with EXA: A Modern ls Replacement

This article introduces EXA, a Rust‑based modern replacement for the traditional ls command, highlighting its speed, color support, Git integration, and various view modes, and provides step‑by‑step installation instructions for macOS, Linux package managers, and building from source.

macrozheng
macrozheng
macrozheng
Boost Your Terminal Productivity with EXA: A Modern ls Replacement

What is EXA?

EXA is a modern replacement for the Unix/Linux ls command, offering faster, colorful, and feature‑rich output.

Differences between EXA and LS

Terminal output is faster and more user‑friendly.

Extensive color support.

Does not conflict with the original ls command.

Key Features

Color‑coded file type listings.

Grid view that adapts to terminal size.

Long view with metadata.

Tree view for hierarchical display.

Git integration to show repository status.

Filtering, sorting, and hidden file handling.

Display of extended attributes (xattrs).

GitHub: https://github.com/ogham/exa

Installation

EXA is written in Rust; you need Rust ≥ 1.17. Install Rust from the official site, then compile EXA with make install or use a package manager.

MacOS

Install via Homebrew:

$ brew install exa

Linux distributions

Arch: $ sudo pacman -S exa Fedora: $ sudo dnf install exa openSUSE:

$ sudo zypper install exa

Build from source

Clone the repository and build with Cargo:

$ git clone https://github.com/ogham/exa.git
$ cargo build --release

The resulting binary appears in target/release and can be moved to a directory in $PATH for permanent use.

Install with Cargo

$ cargo install exa

Use the --root option to change the installation location if needed.

Usage

EXA uses the same syntax as ls: $ exa [OPTIONS] [FILES] Common options: -l – long view with metadata. -R or --recurse – recursive directory listing.

For a full list of options, refer to the official documentation.

EXA screenshot
EXA screenshot
EXA options
EXA options
EXA tree view
EXA tree view
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

command-linefile managementterminalexals alternative
macrozheng
Written by

macrozheng

Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.