exa: Should we replace the „ls“ command?

What does „ls“ do anyways? If you work in a Unix-like terminal you know it is the most basic command. It just shows the content of a directory. It has been here for a long time and surely will remain even longer.

The question is: Is the „ls“ command outdated after so long?

At least some developers believe it and tried to create a new one called „exa“:

https://the.exa.website/

Looking good?

Source: exa Github page

Why this tool and not ls?

There are some arguments as you might have noticed in the screenshot. For one you have many more colors. The focus is on a good user experience:

  • Human readable sizes instead of showing just the bytes of every file is standard. Yes, it is easier to read 10 Gb than 10000000000 bytes
  • Git integration! Yes!
  • Tree view

With exa you have listing tool which provides a more human readable display of your files. With version control system Git you have more information of the file states. I hope more version control systems will be supported. Though I think Git is the best version control and I use it all the time, Subversion is still widely used, especially in the industry.

Will „ls“ die?

I cannot predict the future, but I don’t think so. „ls“ is part of a Unix and likes operating system. It not only serves the purpose to show a human being stuff but it is extensively used in different scripts, where programs asks for file lists, status or similar.

So no hate against „ls“. Exa is a nice complementation for your system and because we talk here Linux all is about freedom of choice!

Installation

This tool should run on any Linux but yet there are not so many package repositories which let you install exa.

You require to have libraries installed, which are used by the Rust language being the development language of that tool.

Under Ubuntu or similar you can do this…

$ curl https://sh.rustup.rs -sSf | sh
$ wget -c https://the.exa.website/releases/exa-linux-x86_64-0.7.0.zip
$ unzip exa-linux-x86_64-0.7.0.zip
$ sudo 
$ sudo mv exa-linux-x86_64 /usr/local/bin/exa

If you are using Arch or Manjaro, you are in luck:

$ pacman -Syu exa

Extra: Video where I tested „exa“