exa
List directory contents with improved formatting
TLDR
List files one per line
List all files, including hidden files
Long format list (permissions, ownership, size, and modification date) of all files
List files with the largest at the top
Display a tree of files, three levels deep
List files sorted by modification date (oldest first)
List files with their headers, icons, and Git statuses
Don't list files mentioned in .gitignore
SYNOPSIS
exa [OPTIONS] [FILE]...
PARAMETERS
-1, --one-line
Display one entry per line
--binary
Use binary prefixes (KiB, MiB)
--color
Control when to use color: always, never, auto
--color-scale
Color files by size
-F, --classify
Append file type indicators (* => executable, / => dir)
--git
Show git status in header
--git-ignore
Hide git-ignored files
--group-directories-first
List directories before files
--header
Print header row in long view
--hyperlink
Print hyperlinks to files
--icons
Use file icons (requires nerdfonts)
--inode
Show inode numbers
-l, --long
Long listing format with details
-h, --human
Human-readable file sizes
--no-user
Omit user column
--octal
Octal permissions instead of symbolic
--sort
Sort by name, size, time, extension, etc.
--time
Show modified, accessed, or changed time
--time-style
Format timestamps (full-iso, long-iso, etc.)
-a, --all
Show hidden files (except . and ..)
-r, --recurse
Recurse into directories
-R, --reverse
Reverse sort order
-S
Sort by file size
-t
Sort by modification time
--tree
Tree view of directories
--grid
Display in grid format
-x, --across
List across rows
--level
Limit tree recursion depth
DESCRIPTION
Exa is a command-line program that lists files and directories on Linux and other Unix-like systems, serving as an enhanced alternative to the traditional ls utility.
It is written in Rust for speed and safety, featuring vibrant color schemes by default, file type icons (via nerdfonts), git integration showing repository status, and tree views for directory hierarchies. Exa supports sorting by various fields like size, time, or extension, human-readable sizes, and detailed long format output with permissions, owners, and timestamps.
Key advantages over ls include no-fork recursion (faster on large dirs), automatic directory-first listing, hyperlinks in compatible terminals, and customizable output. It's cross-platform (Linux, macOS, BSD) but requires installation as it's not in coreutils.
Exa emphasizes user experience with sane defaults and extensibility, making directory navigation more informative and visually appealing.
CAVEATS
Exa is no longer actively maintained (archived in 2023); consider eza fork for updates. Requires font support for icons/hyperlinks. Not installed by default.
INSTALLATION
Rust: cargo install exa-cli
Arch: pacman -S exa
Fedora: dnf install exa
macOS: brew install exa
EXAMPLES
exa -la: Long all files.
exa --tree --level=2: Tree view depth 2.
exa --git -l: Long with git status.
HISTORY
Developed by Benjamin Sago (ogham) starting 2016 in Rust. Gained popularity for features beyond GNU ls. Reached v0.10.1 in 2020; archived June 2023 due to maintainer burnout. Forked as eza with ongoing development.


