The sys admin's daily grind: exa

Charly's Column – exa

Article from Issue 249/2021

There is nothing that admins hate more than unnecessary typing at the console. That's why Charly's clever alternative exa replaces the classic, but ancient, ls.

There are very few commands that you type more often than ls when working in the shell. As experienced Linux users will know, the shorter a command is, the more important it is. Even the often expressed suspicion that the shortest commands have the longest man pages is something that ls cannot really refute. You would think that there is little to improve with ls, but the exa developers beg to differ.

Instead of a one-to-one replacement, exa [1] seeks to be the better ls. It gets by with far fewer parameters and is correspondingly less powerful. But if you use only the most common options – for me, that would be -l, -a, -t, -h, and --sort=size – you won't miss anything. That's because exa comes with sensible defaults that make some parameters superfluous. For example, exa always displays file sizes in a notation that is easily readable for humans, such as 2.9M instead of 2893342, which you first need to enable by adding -h in ls.

The output from exa -l, the counterpart of ls -l, looks like Figure 1. This is still very reminiscent of the original, except for the lush coloring. Using the additional -F parameter (for "file type"), I can show additional characters that indicate the file type. For example, an asterisk is appended to executable files, a slash to directories, and an at sign to symbolic links. The sort parameter, which is very important for me personally, also works as expected. The command --sort=size sorts by file size, while -r inverts the sort order.

Figure 1: The output from exa -l, the counterpart to ls -l.

Sorting by time also works as expected – you can even choose whether you want exa to sort the list by --time=created, --time=modified, or --time=accessed. The tree view (-T) shows you the directory tree including the subdirectories (Figure  2), while the --level= parameter tells exa how deep you want it to dig down.

Figure 2: The tree view in exa visualizes the directory structures.

The Author

Charly Kühnast manages Unix systems in a data center in the Lower Rhine region of Germany. His responsibilities include ensuring the security and availability of firewalls and the DMZ.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • The sys admin's daily grind: colorls

    The first time in our lives we got to a black-and-white Linux or Unix shell, most of us probably typed ls first. In a mixture of nostalgia and the knowledge that life is colorful, columnist Charly Kühnast plays a colorful trump card with colorls.

  • Charly's Column: lsof

    The shorter a command, the longer the list of support parameters. This rule applies to lsof, one of Charly’s favorite commands.

  • The sys admin’s daily grind: Sysdig

    In this issue, sys admin columnist and tool veterinarian Charly Kühnast invites Sysdig, the jack-of-all-trades among system diagnostic tools, into his surgery for a quick checkup. The project promises to unite the functionality of lsof, iftop, netstat, tcpdump, and others.

  • Charly's Column – Varnish

    Columnist Charly gives Apache a slick coat of Varnish for better performance.

  • Charly's Column: GeoIP Lookup

    The global village is big enough to want to find out where your friend and enemies have set up camp. Charly offers a quick IP-based introduction to geography.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More