A modern replacement for ‘ls’.
Go to file
2015-11-04 15:22:51 +01:00
contrib Update man page with new options 2015-06-07 16:45:58 +01:00
src Fix tree output 2015-11-04 15:22:51 +01:00
.gitignore Add script to generate awkward testcases 2015-09-03 18:49:27 +01:00
.travis.yml Test on nightly, beta and stable 2015-11-04 11:29:29 +01:00
Cargo.lock Upgrade to latest ansi_term 2015-11-03 11:17:44 +00:00
Cargo.toml Upgrade to latest ansi_term 2015-11-03 11:17:44 +00:00
generate-testcases.sh Add script to generate awkward testcases 2015-09-03 18:49:27 +01:00
LICENCE Update LICENCE 2014-07-02 22:07:09 +01:00
Makefile Makefile: be compatible with BSD and OS X 2015-07-31 13:11:32 +08:00
README.md Update README 2015-11-04 11:12:20 +01:00
screenshot.png Show off new tree functionality 2015-06-08 21:01:02 +01:00

exa Build status

exa is a replacement for ls written in Rust.

Works on all recent Rust versions > 1.4.0.

Screenshot

Screenshot of exa

Options

exa's options are similar, but not exactly the same, as ls.

Filtering Options

  • -a, --all: show dot files
  • -d, --list-dirs: list directories as regular files
  • --group-directories-first: list directories before other files
  • -L, --level=(depth): maximum depth of recursion
  • -R, --recurse: recurse into subdirectories

View Options

  • -1, --oneline: display one entry per line
  • -r, --reverse: reverse sort order
  • -s, --sort=(field): field to sort by
  • -x, --across: sort multi-column view entries across
  • -T, --tree: recurse into subdirectories in a tree view

You can sort by name, size, ext, inode, modified, created, accessed, or none.

Long Format

  • -b, --binary: use binary (power of two) file sizes
  • -B, --bytes: list file sizes in bytes, without prefixes
  • -g, --group: show group as well as user
  • --git: show git status (depends on libgit2, see below)
  • -h, --header: show a header row
  • -H, --links: show number of hard links column
  • -i, --inode: show inode number column
  • -l, --long: display extended details and attributes
  • -m, --modified: display timestamp of most recent modification
  • -S, --blocks: show number of file system blocks
  • -t, --time=(field): which timestamp to show for a file
  • -u, --accessed: display timestamp of last access for a file
  • -U, --created: display timestamp of creation of a file
  • -@, --extended: display extended attribute keys and sizes

Installation

exa is written in Rust. You'll have to use the nightly -- I try to keep it up to date with the latest version when possible. Once you have it set up, a simple make install will compile exa and install it into /usr/local/bin.

exa depends on libgit2 for certain features. If you're unable to compile libgit2, you can opt out of Git support by passing --no-default-features to Cargo.