eza

eza is a modern 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.

Usage

Usage: eza [OPTIONS] [FILES]

Options

Display Options

OptionDescription
-1, --onelinedisplay one entry per line
-l, --longdisplay extended file metadata as a table
-G, --griddisplay entries as a grid (default)
-x, --acrosssort the grid across, rather than downwards
-R, --recurserecurse into directories
-T, --treerecurse into directories as a tree
-X, --dereferencedereference symbolic links when displaying information
-F, --classify=WHENdisplay type indicator by file names (always, auto, never)
--color=WHENwhen to use terminal colours (always, auto, never)
--color-scalehighlight levels of ‘field’ distinctly(all, age, size)
--color-scale-modeuse gradient or fixed colors in —color-scale (fixed, gradient)
--icons=WHENwhen to display icons (always, auto, never)
--no-quotesdon’t quote file names with spaces
--hyperlinkdisplay entries as hyperlinks
--absolutedisplay entries with their absolute path (on, follow, off)
-w, --width COLSset screen width in columns

Filter and Sorting Options

OptionDescription
-a, --allshow hidden and ‘dot’ files. Use this twice to also show the ’.’ and ’..’ directories
-A, --almost-allequivalent to --all; included for compatibility with ls -A
-d, --list-dirslist directories as files; don’t list their contents
-L, --level DEPTHlimit the depth of recursion
-r, --reversereverse the sort order
-s, --sort SORT_FIELDwhich field to sort by
--group-directories-firstlist directories before other files
-D, --only-dirslist only directories
-f, --only-fileslist only files
-I, --ignore-glob GLOBSglob patterns (pipe-separated) of files to ignore
--git-ignoreignore files mentioned in .gitignore

Valid sort fields:

  • name
  • extension
  • size
  • type
  • modified
  • accessed
  • created
  • inode
  • none

Long View Options

OptionDescription
-b, --binarylist file sizes with binary prefixes
-B, --byteslist file sizes in bytes, without any prefixes
-g, --grouplist each file’s group
--smart-grouponly show group if it has a different name from owner
-h, --headeradd a header row to each column
-H, --linkslist each file’s number of hard links
-i, --inodelist each file’s inode number
-m, --modifieduse the modified timestamp field
-M, --mountsshow mount details (Linux and Mac only)
-n, --numericlist numeric user and group IDs
-O, --flagslist file flags (Mac, BSD, and Windows only)
-S, --blocksizeshow size of allocated file system blocks
-t, --time FIELDwhich timestamp field to list (modified, accessed, created)
-u, --accesseduse the accessed timestamp field
-U, --createduse the created timestamp field
--changeduse the changed timestamp field
--time-stylehow to format timestamps (default, iso, long-iso, full-iso, relative, or a custom style +<FORMAT> like +%Y-%m-%d %H:%M)
--total-sizeshow the size of a directory as the size of all files and directories inside (unix only)
--no-permissionssuppress the permissions field
-o, --octal-permissionslist each file’s permission in octal format
--no-filesizesuppress the filesize field
--no-usersuppress the user field
--no-timesuppress the time field
--stdinread file names from stdin, one per line or other separator specified in environment
--gitlist each file’s Git status, if tracked or ignored
--no-gitsuppress Git status (always overrides --git, --git-repos, --git-repos-no-status)
--git-reposlist root of git-tree status
-@, --extendedlist each file’s extended attributes and sizes
-Z, --contextlist each file’s security context