# exa

> Modern replacement for ls with colors, Git integration, and extended file metadata display

Stars: 24.4k · Categories: File Management

- Repository: https://github.com/ogham/exa
- Website: https://the.exa.website/
- Page: https://www.trmn.sh/tools/exa

## Install

- Homebrew: `brew install exa`
- APT: `apt install exa`
- Cargo: `cargo install exa`

## Overview

exa is a command-line file listing tool that replaces the traditional `ls` command with enhanced functionality and better defaults. It displays files with color-coded types and metadata, supports symlinks, extended attributes, and Git status information. The tool provides multiple display formats including grid view, tree view, and detailed long format with customizable columns.

exa offers extensive filtering and sorting options, including Git-aware filtering that respects `.gitignore` files, glob pattern matching, and directory-first grouping. The long view mode displays comprehensive file information including timestamps (modified, accessed, created), file sizes with binary or decimal prefixes, permissions in octal format, inode numbers, and extended attributes. It can integrate with Git repositories to show file status and tracking information.

The tool is designed for developers, system administrators, and command-line users who need more informative file listings than standard `ls` provides. It runs as a single binary with no external dependencies (except optional Git support via libgit2) and supports extensive customization through command-line options for colors, time formats, and display layouts. Note that exa is no longer maintained and users are recommended to use the fork 'eza' instead.

### Installation

```bash
# via Homebrew
brew install exa
```

```bash
# via APT
apt install exa
```

```bash
# via Cargo
cargo install exa
```

![Screenshots of exa showing various display modes](https://media.trmn.sh/cached/0ddeb5ca9a8f92433c9325fb6b2b952d8b97600cea66c40277757dbc72ec276b.png)

## Alternatives

- [superfile](https://www.trmn.sh/tools/superfile.md): Terminal-based file manager with dual-pane interface, written in Go (Go, 24.0k stars)
- [eza](https://www.trmn.sh/tools/eza.md): Modern replacement for ls with colors, Git integration, tree view, and extended file metadata display. (Rust, 23.7k stars)
- [nnn](https://www.trmn.sh/tools/nnn.md): Terminal file manager with disk usage analysis, batch operations, and extensive plugin ecosystem (C, 22.1k stars)
- [ImageMagick](https://www.trmn.sh/tools/imagemagick.md): Open-source C software suite with a command-line interface and APIs for creating, editing, converting, and composing bitmap images in 200+ formats. (C, 17.8k stars)
- [ranger](https://www.trmn.sh/tools/ranger.md): Console file manager with VI key bindings, multi-column display, and file preview capabilities (Python, 17.4k stars)

## Guides

- [Swap ls, cat, find and grep for eza, bat, fd and ripgrep](https://www.trmn.sh/guides/modern-unix-replacements): Install eza, bat, fd and ripgrep, learn the side-by-side commands and flag differences, and alias them without breaking your scripts.
- [Modern Replacements for ls](https://www.trmn.sh/replace/ls): Replace ls with eza, lsd, or exa for colors, Git status, tree view and richer long listings. Also covers broot, an interactive tree navigator.
- [Modern Replacements for tree](https://www.trmn.sh/replace/tree): Tools you can run instead of tree: eza, erdtree, lsd and broot compared by tree output, gitignore handling, flags and config.

---

Canonical: https://www.trmn.sh/tools/exa
