winget install --id=eza-community.eza -e
eza is a modern, maintained replacement for the venerable file-listing command-line program ls that ships with Unix and Linux operating systems, giving it more features and better defaults. It uses colours to distinguish file types and metadata. It knows about symlinks, extended attributes, and Git. And it's small, fast, and just one single binary
eza is a modern command-line tool designed to replace the traditional ls
program on Unix and Linux systems. It enhances file listing with improved defaults, additional features, and better usability.
Key Features:
theme.yml
configuration fileAudience & Benefit:
Ideal for developers, system administrators, and power users seeking enhanced visibility into file information. eza's features improve organization, reduce cognitive load, and increase productivity in terminal workflows.
Installation is available via winget on Windows.
A modern replacement for ls.
eza is a modern alternative for the venerable file-listing command-line program ls
that ships with Unix and Linux operating systems, giving it more features and better defaults.
It uses colours to distinguish file types and metadata.
It knows about symlinks, extended attributes, and Git.
And it’s small, fast, and just one single binary.
By deliberately making some decisions differently, eza attempts to be a more featureful, more user-friendly version of ls
.
eza features not in exa (non-exhaustive):
bright
terminal colours.theme.yml
file for customization of colors and icons....and like, so much more that it became exhausting to update this all the time. Like seriously, we have a lot of good stuff.
If you already have Nix setup with flake support, you can try out eza with the nix run
command:
nix run github:eza-community/eza
Nix will build eza and run it.
If you want to pass arguments this way, use e.g. nix run github:eza-community/eza -- -ol
.
eza is available for Windows, macOS and Linux. Platform and distribution specific installation instructions can be found in INSTALL.md.
eza’s options are almost, but not quite, entirely unlike ls
’s. Quick overview:
Click to expand
field
distinctly(all, age, size)fixed
or gradient
Click to expand
--only-dirs
, --only-files
, to show symlinks that match the filter).gitignore
Pass the --all
option twice to also show the .
and ..
directories.
Click to expand
These options are available when running with --long
(-l
):
--git
, --git-repos
, --git-repos-no-status
)default
’, ‘iso
’, ‘long-iso
’, ‘full-iso
’, ‘relative
’, or a custom style ‘+
’ (E.g., ‘+%Y-%m-%d %H:%M
’ => ‘2023-09-30 13:00
’. For more specifications on the format string, see the eza(1)
manual page and chrono documentation.).Some of the options accept parameters:
See the man
pages for further documentation of usage. They are available
man eza
, as of version [0.18.13] - 2024-04-25
Click to expand
Eza has recently added support for a theme.yml
file, where you can specify all of the existing theme-ing options
available for the LS_COLORS
and EXA_COLORS
environment variables, as well as the option to specify different icons
for different file types and extensions. Any existing environment variables set will continue to work and will take
precedence for backwards compatibility.
Check out the themes available in the official eza-themes repository, or contribute your own.
An example theme file is available in docs/theme.yml
, and needs to either be placed in a directory specified by the
environment variable EZA_CONFIG_DIR
, or will looked for by default in $XDG_CONFIG_HOME/eza
.
If you wanna contribute to eza, firstly, you're expected to follow our code of conduct. After having understood the code of conduct, you can have a look at our CONTRIBUTING.md for more info about actual hacking.