1exa(1) exa(1)
2
3
4
6 exa - a modern replacement for ls
7
9 exa [options] [files]...
10
12 exa is a modern replacement for ls. It uses colours for information by
13 default, helping you distinguish between many types of files, such as
14 whether you are the owner, or in the owning group. It also has extra
15 features not present in the original ls, such as viewing the Git status
16 for a directory, or recursing into directories with a tree view.
17
19 -1, --oneline
20 display one entry per line
21
22 -G, --grid
23 display entries as a grid (default)
24
25 -l, --long
26 display extended file metadata as a table
27
28 -x, --across
29 sort the grid across, rather than downwards
30
31 -R, --recurse
32 recurse into directories
33
34 -T, --tree
35 recurse into directories as a tree
36
37 -F, --classify
38 display type indicator by file names
39
40 --color, --colour=WHEN
41 when to use terminal colours (always, automatic, never)
42
43 --color-scale, --colour-scale
44 highlight levels of file sizes distinctly
45
47 -a, --all
48 show hidden and 'dot' files. Use this twice to also show the .
49 and .. directories.
50
51 -d, --list-dirs
52 list directories like regular files
53
54 -L, --level=DEPTH
55 limit the depth of recursion
56
57 -r, --reverse
58 reverse the sort order
59
60 -s, --sort=SORT_FIELD
61 which field to sort by. Valid fields are name, Name, extension,
62 Extension, size, modified, changed, accessed, created, inode,
63 type, and none. The modified field has the aliases date, time,
64 and newest, and its reverse order has the aliases age and old‐
65 est. Fields starting with a capital letter will sort uppercase
66 before lowercase: 'A' then 'B' then 'a' then 'b'. Fields start‐
67 ing with a lowercase letter will mix them: 'A' then 'a' then 'B'
68 then 'b'.
69
70 -I, --ignore-glob=GLOBS
71 Glob patterns, pipe-separated, of files to ignore
72
73 --git-ignore
74 ignore files mentioned in '.gitignore'
75
76 --group-directories-first
77 list directories before other files
78
79 -D, --only-dirs
80 list only directories
81
83 These options are available when running with --long (-l):
84
85 -b, --binary
86 list file sizes with binary prefixes
87
88 -B, --bytes
89 list file sizes in bytes, without any prefixes
90
91 -g, --group
92 list each file's group
93
94 -h, --header
95 add a header row to each column
96
97 -H, --links
98 list each file's number of hard links
99
100 -i, --inode
101 list each file's inode number
102
103 -m, --modified
104 use the modified timestamp field
105
106 -S, --blocks
107 list each file's number of file system blocks
108
109 -t, --time=WORD
110 which timestamp field to list (modified, changed, accessed, cre‐
111 ated)
112
113 --time-style=STYLE
114 how to format timestamps (default, iso, long-iso, full-iso)
115
116 -u, --accessed
117 use the accessed timestamp field
118
119 -U, --created
120 use the created timestamp field
121
122 -@, --extended
123 list each file's extended attributes and sizes
124
125 --git list each file's Git status, if tracked
126
128 To display a list of files, with the largest at the top:
129
130 exa --reverse --sort=size
131
132 To display a tree of files, three levels deep:
133
134 exa --long --tree --level=3
135
137 exa responds to the following environment variables:
138
139 COLUMNS
140 Overrides the width of the terminal, in characters. For example, COL‐
141 UMNS=80 exa will show a grid view with a maximum width of 80 charac‐
142 ters.
143
144 This option won't do anything when exa's output doesn't wrap, such as
145 when using the --long view.
146
147 EXA_STRICT
148 Enables strict mode, which will make exa error when two command-line
149 options are incompatible. Usually, options can override each other
150 going right-to-left on the command line, so that exa can be given
151 aliases: creating an alias exa=exa --sort=ext then running
152 exa --sort=size with that alias will run exa --sort=ext --sort=size,
153 and the sorting specified by the user will override the sorting speci‐
154 fied by the alias. In strict mode, the two options will not co-oper‐
155 ate, and exa will error.
156
157 This option is intended for use with automated scripts and other situa‐
158 tions where you want to be certain you're typing in the right command.
159
160 EXA_GRID_ROWS
161 Limits the grid-details view (exa --grid --long) so it's only activated
162 when at least the given number of rows of output would be generated.
163 With widescreen displays, it's possible for the grid to look very wide
164 and sparse, on just one or two lines with none of the columns lining
165 up. By specifying a minimum number of rows, you can only use the view
166 if it's going to be worth using.
167
168 LS_COLORS and EXA_COLORS
169 The EXA_COLORS variable is the traditional way of customising the
170 colours used by ls.
171
172 You can use the dircolors program to generate a script that sets the
173 variable from an input file, or if you don't mind editing long strings
174 of text, you can just type it out directly. These variables have the
175 following structure:
176
177 · A list of key-value pairs separated by =, such as *.txt=32.
178
179 · Multiple ANSI formatting codes are separated by ;, such as
180 *.txt=32;1;4.
181
182 · Finally, multiple pairs are separated by :, such as
183 *.txt=32:*.mp3=1;35.
184
185 The key half of the pair can either be a two-letter code or a file
186 glob, and anything that's not a valid code will be treated as a glob,
187 including keys that happen to be two letters long.
188
189 LS_COLORS can use these ten codes:
190
191 · di, directories
192
193 · ex, executable files
194
195 · fi, regular files
196
197 · pi, named pipes
198
199 · so, sockets
200
201 · bd, block devices
202
203 · cd, character devices
204
205 · ln, symlinks
206
207 · or, symlinks with no target
208
209 EXA_COLORS can use many more:
210
211 · ur, the user-read permission bit
212
213 · uw, the user-write permission bit
214
215 · ux, the user-execute permission bit for regular files
216
217 · ue, the user-execute for other file kinds
218
219 · gr, the group-read permission bit
220
221 · gw, the group-write permission bit
222
223 · gx, the group-execute permission bit
224
225 · tr, the others-read permission bit
226
227 · tw, the others-write permission bit
228
229 · tx, the others-execute permission bit
230
231 · su, setuid, setgid, and sticky permission bits for files
232
233 · sf, setuid, setgid, and sticky for other file kinds
234
235 · xa, the extended attribute indicator
236
237 · sn, the numbers of a file's size
238
239 · sb, the units of a file's size
240
241 · df, a device's major ID
242
243 · ds, a device's minor ID
244
245 · uu, a user that's you
246
247 · un, a user that's someone else
248
249 · gu, a group that you belong to
250
251 · gn, a group you aren't a member of
252
253 · lc, a number of hard links
254
255 · lm, a number of hard links for a regular file with at least two
256
257 · ga, a new flag in Git
258
259 · gm, a modified flag in Git
260
261 · gd, a deleted flag in Git
262
263 · gv, a renamed flag in Git
264
265 · gt, a modified metadata flag in Git
266
267 · xx, "punctuation", including many background UI elements
268
269 · da, a file's date
270
271 · in, a file's inode number
272
273 · bl, a file's number of blocks
274
275 · hd, the header row of a table
276
277 · lp, the path of a symlink
278
279 · cc, an escaped character in a filename
280
281 · bO, the overlay style for broken symlink paths
282
283 Values in EXA_COLORS override those given in LS_COLORS, so you don't
284 need to re-write an existing LS_COLORS variable with proprietary exten‐
285 sions.
286
287 Unlike some versions of ls, the given ANSI values must be valid colour
288 codes: exa won't just print out whichever characters are given. The
289 codes accepted by exa are:
290
291 · 1, for bold
292
293 · 4, for underline
294
295 · 31, for red text
296
297 · 32, for green text
298
299 · 33, for yellow text
300
301 · 34, for blue text
302
303 · 35, for purple text
304
305 · 36, for cyan text
306
307 · 37, for white text
308
309 · 38;5;nnn, for a colour from 0 to 255 (replace the nnn part)
310
311 Many terminals will treat bolded text as a different colour, or at
312 least provide the option to.
313
314 exa provides its own built-in set of file extension mappings that cover
315 a large range of common file extensions, including documents, archives,
316 media, and temporary files. Any mappings in the environment variables
317 will override this default set: running exa with LS_COLORS="*.zip=32"
318 will turn zip files green but leave the colours of other compressed
319 files alone.
320
321 You can also disable this built-in set entirely by including a reset
322 entry at the beginning of EXA_COLORS. So setting EXA_COL‐
323 ORS="reset:*.txt=31" will highlight only text files; setting EXA_COL‐
324 ORS="reset" will highlight nothing.
325
326 Examples
327 · Disable the "current user" highlighting: EXA_COLORS="uu=0:gu=0"
328
329 · Turn the date column green: EXA_COLORS="da=32"
330
331 · Highlight Vagrantfiles: EXA_COLORS="Vagrantfile=1;4;33"
332
333 · Override the existing zip colour: EXA_COLORS="*.zip=38;5;125"
334
335 · Markdown files a shade of green, log files a shade of grey: EXA_COL‐
336 ORS="*.md=38;5;121:*.log=38;5;248"
337
338 BUILT-IN EXTENSIONS
339 · "Immediate" files are the files you should look at when downloading
340 and building a project for the first time: READMEs, Makefiles,
341 Cargo.toml, and others. They're highlighted in yellow and under‐
342 lined.
343
344 · Images (png, jpeg, gif) are purple.
345
346 · Videos (mp4, ogv, m2ts) are a slightly purpler purple.
347
348 · Music (mp3, m4a, ogg) is a deeper purple.
349
350 · Lossless music (flac, alac, wav) is deeper than that purple. In gen‐
351 eral, most media files are some shade of purple.
352
353 · Cryptographic files (asc, enc, p12) are a faint blue.
354
355 · Documents (pdf, doc, dvi) are a less faint blue.
356
357 · Compressed files (zip, tgz, Z) are red.
358
359 · Temporary files (tmp, swp, ~) are grey.
360
361 · Compiled files (class, o, pyc) are faint orange. A file is also
362 counted as compiled if it uses a common extension and is in the same
363 directory as one of its source files: 'styles.css' will count as com‐
364 piled when next to 'styles.less' or 'styles.sass', and 'scripts.js'
365 when next to 'scripts.ts' or 'scripts.coffee'.
366
368 exa is maintained by Benjamin 'ogham' Sago and many other contributors.
369 You can view the full list at <https://github.com/ogham/exa/graphs/con‐
370 tributors>.
371
372
373
374exa 0.9.0 2019-07-15 exa(1)