exa_colors(5)
π exa_colors β the exa_colors(5) manual, but make it cute π
okay bestie, so this is exa_colors(5), and it's literally the glow-up guide for your terminal π it's all about the EXA_COLORS environment variable, which is the thing that lets you customise the colours exa uses to highlight file names, file metadata, and parts of the UI. yes, ALL of it. you're the stylist, exa is the main character, periodt π
β¨ SYNOPSIS β¨
The EXA_COLORS environment variable can be used to customise the colours that exa uses to highlight file names, file metadata, and parts of the UI. π
You can use the dircolors program to generate a script that sets the variable from an input file, or if you don't mind editing long strings of text, you can just type it out directly. no biggie. these variables have the following structure:
- A list of key-value pairs separated by
=, such as*.txt=32. π - Multiple ANSI formatting codes are separated by
;, such as*.txt=32;1;4. β¨ - Finally, multiple pairs are separated by
:, such as*.txt=32:*.mp3=1;35. π
The key half of the pair can either be a two-letter code or a file glob, and anything that's not a valid code will be treated as a glob, including keys that happen to be two letters long. so like, if you make up a code, exa's just gonna go "sure, that's a glob now" π no cap.
πΈ EXAMPLES πΈ
EXA_COLORS="uu=0:gu=0"β Disable the "current user" highlightingEXA_COLORS="da=32"β Turn the date column greenEXA_COLORS="Vagrantfile=1;4;33"β Highlight VagrantfilesEXA_COLORS="*.zip=38;5;125"β Override the existing zip colourEXA_COLORS="*.md=38;5;121:*.log=38;5;248"β Markdown files a shade of green, log files a shade of grey
π LIST OF CODES π
LS_COLORS can use these ten codes, bestie. just ten. the classics:
diβ directoriesexβ executable filesfiβ regular filespiβ named pipessoβ socketsbdβ block devicescdβ character deviceslnβ symlinksorβ symlinks with no target
but EXA_COLORS can use many more, and honestly? it ate. π₯
urβ the user-read permission bituwβ the user-write permission bituxβ the user-execute permission bit for regular filesueβ the user-execute for other file kindsgrβ the group-read permission bitgwβ the group-write permission bitgxβ the group-execute permission bittrβ the others-read permission bittwβ the others-write permission bittxβ the others-execute permission bitsuβ setuid, setgid, and sticky permission bits for filessfβ setuid, setgid, and sticky for other file kindsxaβ the extended attribute indicatorsnβ the numbers of a file's size (setsnb,nk,nm,ngandnh)nbβ the numbers of a file's size if it is lower than 1 KB/Kibnkβ the numbers of a file's size if it is between 1 KB/KiB and 1 MB/MiBnmβ the numbers of a file's size if it is between 1 MB/MiB and 1 GB/GiBngβ the numbers of a file's size if it is between 1 GB/GiB and 1 TB/TiBntβ the numbers of a file's size if it is 1 TB/TiB or highersbβ the units of a file's size (setsub,uk,um,uganduh)ubβ the units of a file's size if it is lower than 1 KB/Kibukβ the units of a file's size if it is between 1 KB/KiB and 1 MB/MiBumβ the units of a file's size if it is between 1 MB/MiB and 1 GB/GiBugβ the units of a file's size if it is between 1 GB/GiB and 1 TB/TiButβ the units of a file's size if it is 1 TB/TiB or higherdfβ a device's major IDdsβ a device's minor IDuuβ a user that's youunβ a user that's someone elseguβ a group that you belong tognβ a group you aren't a member oflcβ a number of hard linkslmβ a number of hard links for a regular file with at least twogaβ a new flag in Gitgmβ a modified flag in Gitgdβ a deleted flag in Gitgvβ a renamed flag in Gitgtβ a modified metadata flag in Gitxxβ "punctuation", including many background UI elementsdaβ a file's dateinβ a file's inode numberblβ a file's number of blockshdβ the header row of a tablelpβ the path of a symlinkccβ an escaped character in a filenamebOβ the overlay style for broken symlink paths
Values in EXA_COLORS override those given in LS_COLORS, so you don't need to re-write an existing LS_COLORS variable with proprietary extensions. cute, right? no extra work, slay π
π¦ LIST OF STYLES π¦
Unlike some versions of ls, the given ANSI values must be valid colour codes: exa won't just print out whichever characters are given. it's giving selective. it's giving taste. β¨
The codes accepted by exa are:
1β for bold4β for underline31β for red text32β for green text33β for yellow text34β for blue text35β for purple text36β for cyan text37β for white text38;5;nnnβ for a colour from 0 to 255 (replace thennnpart)
Many terminals will treat bolded text as a different colour, or at least provide the option to. so bold is kinda a vibe check for your terminal, iykyk π
exa provides its own built-in set of file extension mappings that cover a large range of common file extensions, including documents, archives, media, and temporary files. Any mappings in the environment variables will override this default set: running exa with LS_COLORS="*.zip=32" will turn zip files green but leave the colours of other compressed files alone. π§
You can also disable this built-in set entirely by including a reset entry at the beginning of EXA_COLORS. So setting EXA_COLORS="reset:*.txt=31" will highlight only text files; setting EXA_COLORS="reset" will highlight nothing. absolutely nothing. blank canvas era π
bestie, be careful with reset at the start β it wipes the whole built-in palette, so you're building from zero. that's the whole point, but know that's what you signed up for π
π AUTHOR π
exa is maintained by Benjamin `ogham' Sago and many other contributors. iconic behaviour, honestly. π«Ά
- Website:
https://the.exa.website/ - Source code:
https://github.com/ogham/exa - Contributors:
https://github.com/ogham/exa/graphs/contributors
π SEE ALSO π
and that's the whole page, bestie π this was exa_colors(5), version v0.9.0, and it's brought to you by the exa manual set β go forth and make your ls output absolutely gorgeous. mwah. πβ¨π
π¦ where this page comes from
- ubuntu jammy: exa 0.10.1-2 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms