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
2015-02-21 21:35:31 +00:00
[exa ](http://bsago.me/exa ) is a replacement for `ls` written in Rust.
2014-06-28 11:20:50 +00:00
2015-04-03 21:19:06 +00:00
**You'll have to use the nightly, rather than Rust beta. Sorry about that.**
2014-06-28 11:20:50 +00:00
2014-12-12 15:15:35 +00:00
## Screenshot
2014-05-22 12:55:11 +00:00
![Screenshot of exa ](https://raw.githubusercontent.com/ogham/exa/master/screenshot.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-05-07 15:53:20 +00:00
exa's options are similar, but not exactly the same, as `ls` .
### 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
- **--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
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
2015-03-10 18:06:03 +00:00
- **--git**: show git status (depends on libgit2, see below)
2014-06-28 11:20:50 +00:00
- **-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
2014-07-06 16:33:40 +00:00
- **-l**, ** --long**: display extended details and attributes
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
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-02-24 15:48:39 +00:00
exa is written in [Rust ](http://www.rust-lang.org ). 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` .
2015-01-27 15:59:22 +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 passing `--no-default-features` to Cargo.