2014-12-12 15:15:35 +00:00
|
|
|
|
# exa [![Build status](https://travis-ci.org/ogham/exa.svg)](https://travis-ci.org/ogham/exa)
|
2014-05-22 12:55:11 +00:00
|
|
|
|
|
2016-05-24 08:03:16 +00:00
|
|
|
|
[exa](https://the.exa.website/) is a replacement for `ls` written in Rust.
|
2014-06-28 11:20:50 +00:00
|
|
|
|
|
2015-11-04 15:27:51 +00:00
|
|
|
|
Works on all recent Rust versions >= 1.4.0.
|
2014-06-28 11:20:50 +00:00
|
|
|
|
|
2015-11-19 13:21:49 +00:00
|
|
|
|
|
2015-11-23 19:48:30 +00:00
|
|
|
|
## Screenshots
|
2014-05-22 12:55:11 +00:00
|
|
|
|
|
2015-11-23 19:48:30 +00:00
|
|
|
|
![Screenshots of exa](screenshots.png)
|
2014-06-28 11:20:50 +00:00
|
|
|
|
|
2014-12-12 15:15:35 +00:00
|
|
|
|
|
|
|
|
|
## Options
|
2014-06-28 11:20:50 +00:00
|
|
|
|
|
2015-11-19 13:21:49 +00:00
|
|
|
|
exa’s options are similar, but not exactly the same, as `ls`.
|
|
|
|
|
|
|
|
|
|
### Display Options
|
|
|
|
|
|
|
|
|
|
- **-1**, **--oneline**: display one entry per line
|
|
|
|
|
- **-G**, **--grid**: display entries in a grid view (default)
|
|
|
|
|
- **-l**, **--long**: display extended details and attributes
|
|
|
|
|
- **-R**, **--recurse**: recurse into directories
|
|
|
|
|
- **-T**, **--tree**: recurse into subdirectories in a tree view
|
|
|
|
|
- **-x**, **--across**: sort multi-column view entries across
|
|
|
|
|
- **--color**, **--colour**: when to colourise the output
|
2015-05-07 15:53:20 +00:00
|
|
|
|
|
|
|
|
|
### Filtering Options
|
|
|
|
|
|
2014-06-28 11:20:50 +00:00
|
|
|
|
- **-a**, **--all**: show dot files
|
2015-05-07 15:53:20 +00:00
|
|
|
|
- **-d**, **--list-dirs**: list directories as regular files
|
|
|
|
|
- **-L**, **--level=(depth)**: maximum depth of recursion
|
|
|
|
|
- **-r**, **--reverse**: reverse sort order
|
|
|
|
|
- **-s**, **--sort=(field)**: field to sort by
|
2015-11-19 13:21:49 +00:00
|
|
|
|
- **--group-directories-first**: list directories before other files
|
2015-05-07 15:53:20 +00:00
|
|
|
|
|
2015-11-19 13:21:49 +00:00
|
|
|
|
### Long View Options
|
2015-05-07 15:53:20 +00:00
|
|
|
|
|
2015-11-19 13:21:49 +00:00
|
|
|
|
These options are available when running with --long (`-l`):
|
2015-05-07 15:53:20 +00:00
|
|
|
|
|
2014-06-28 11:20:50 +00:00
|
|
|
|
- **-b**, **--binary**: use binary (power of two) file sizes
|
2014-12-18 07:04:31 +00:00
|
|
|
|
- **-B**, **--bytes**: list file sizes in bytes, without prefixes
|
2014-06-28 11:20:50 +00:00
|
|
|
|
- **-g**, **--group**: show group as well as user
|
|
|
|
|
- **-h**, **--header**: show a header row
|
2014-07-06 16:33:40 +00:00
|
|
|
|
- **-H**, **--links**: show number of hard links column
|
2014-06-28 11:20:50 +00:00
|
|
|
|
- **-i**, **--inode**: show inode number column
|
2015-04-10 21:18:44 +00:00
|
|
|
|
- **-m**, **--modified**: display timestamp of most recent modification
|
2014-06-28 11:20:50 +00:00
|
|
|
|
- **-S**, **--blocks**: show number of file system blocks
|
2015-04-10 21:18:44 +00:00
|
|
|
|
- **-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
|
2015-11-19 13:21:49 +00:00
|
|
|
|
- **--git**: show Git status for a file
|
|
|
|
|
|
|
|
|
|
Accepted **--color** options are **always**, **automatic**, and **never**.
|
|
|
|
|
Valid sort fields are **name**, **size**, **extension**, **modified**, **accessed**, **created**, **inode**, and **none**.
|
|
|
|
|
Valid time fields are **modified**, **accessed**, and **created**.
|
2014-06-28 11:20:50 +00:00
|
|
|
|
|
2014-12-12 15:15:35 +00:00
|
|
|
|
|
|
|
|
|
## Installation
|
2014-06-28 11:20:50 +00:00
|
|
|
|
|
2015-11-19 13:21:49 +00:00
|
|
|
|
exa is written in [Rust](http://www.rust-lang.org).
|
|
|
|
|
Once you have it set up, a simple `make install` will compile exa and install it into `/usr/local/bin`.
|
2015-01-27 15:59:22 +00:00
|
|
|
|
|
2015-11-19 13:21:49 +00:00
|
|
|
|
exa depends on [libgit2](https://github.com/alexcrichton/git2-rs) for certain features.
|
|
|
|
|
If you’re unable to compile libgit2, you can opt out of Git support by running `cargo build --release --no-default-features`.
|
2016-01-07 06:58:14 +00:00
|
|
|
|
|
|
|
|
|
### Cargo Install
|
|
|
|
|
|
|
|
|
|
If you're using a recent version of Cargo (0.5.0 or higher), you can
|
|
|
|
|
use the `cargo install` command:
|
|
|
|
|
|
|
|
|
|
cargo install --git https://github.com/ogham/exa
|
|
|
|
|
|
|
|
|
|
or:
|
|
|
|
|
|
|
|
|
|
cargo install --no-default-features --git https://github.com/ogham/exa
|
|
|
|
|
|
|
|
|
|
Cargo will clone the repository to a temporary directory, build it
|
|
|
|
|
there and place the `exa` binary to: `$HOME/.cargo` (and can be
|
|
|
|
|
overridden by setting the `--root` option).
|