Hello, friends. The terminal is the workplace of many Linux users. It’s not that complex to use, at least for basic things, but you can always improve some of its tools. That’s precisely what we’re going to talk about today. Because we are going to talk about Exa, probably the best alternative to the ls command in Linux. With exa, you can display files in an advanced way without losing simplicity.
What is this tool?
If we refer to the Exa website, we have the following definition:
exa is a modern replacement for the command-line program ls that ships with Unix and Linux operating systems. This command is used by terminal users, administrators, and developers hundreds of times daily, as well as being useful when writing automated scripts.
In other words, this command, written in Rust, improves the way files are displayed in Linux. Of course, exa is a different tool, but one that is used by many professionals to quickly display content on Linux.
The tool is built in Rust, so it consumes virtually no unnecessary resources. This means that we can use it on as many computers as we can.
Some of the features of Exa are:
- Supports color scheme to improve the visualization of each of the files.
- Exa provides different views such as Grid, long, and tree. Each of them, to better display the attributes and files.
- It is integrated with Git especially useful for developers because, with Exa, you can see the Git status of files when you’re inside a repository.
Besides this, it is free and does not replace ls
so we can use both.
Install Exa the best alternative to the ls command on Linux
Exa is supported by many distributions. If you want to use it on Debian 10, run
sudo apt install exa
For Fedora 34
sudo dnf install exa
But for the rest of the distributions, you may want to do the manual installation which is quite easy.
First, make sure you have the necessary packages installed.
sudo apt install wget unzip
Now download the binary provided by the developers:
wget -c https://github.com/ogham/exa/releases/download/v0.10.0/exa-linux-x86_64-v0.10.0.zip --2021-07-15 17:33:37-- https://github.com/ogham/exa/releases/download/v0.10.0/exa-linux-x86_64-v0.10.0.zip Resolving github.com (github.com)... 140.82.121.3 Connecting to github.com (github.com)|140.82.121.3|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://github-releases.githubusercontent.com/20060596/64406f00-9587-11eb-80ae-0a8f59c6468a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210715%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210715T153337Z&X-Amz-Expires=300&X-Amz-Signature=422091b2ecf1c031214a026401a9d6546580a6996847c667c0b487b54ed4599a&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=20060596&response-content-disposition=attachment%3B%20filename%3Dexa-linux-x86_64-v0.10.0.zip&response-content-type=application%2Foctet-stream [following] --2021-07-15 17:33:37-- https://github-releases.githubusercontent.com/20060596/64406f00-9587-11eb-80ae-0a8f59c6468a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210715%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210715T153337Z&X-Amz-Expires=300&X-Amz-Signature=422091b2ecf1c031214a026401a9d6546580a6996847c667c0b487b54ed4599a&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=20060596&response-content-disposition=attachment%3B%20filename%3Dexa-linux-x86_64-v0.10.0.zip&response-content-type=application%2Foctet-stream Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.109.154, 185.199.110.154, 185.199.111.154, ... Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.109.154|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 717968 (701K) [application/octet-stream] Saving to: ‘exa-linux-x86_64-v0.10.0.zip’ exa-linux-x86_64-v0.10.0.zip 100%[=====================================================================================>] 701.14K --.-KB/s in 0.1s 2021-07-15 17:33:37 (5.75 MB/s) - ‘exa-linux-x86_64-v0.10.0.zip’ saved [717968/717968]
Unzip it
unzip exa-linux-x86_64-v0.10.0.zip
When finished, we have to access the bin
folder where the binary is located
cd bin/
Now copy it to any directory that is in the $PATH
such as /usr/local/bin
.
sudo cp exa /usr/local/bin/
Now you can use it without any problems.
Using Exa the ls command alternative
With exa
in the system we just need to invoke it to run
exa
there it will display your files as in the ls
command.
One of the most interesting options is --tree
which displays a tree view.
exa --tree
Also, we can limit the level of parsing, e.g.
exa --tree --level=2
This way we can control the scanning.
If we add --long
to this option we can get more information about the files.
exa --tree --long
Finally, exa
can recurse into a directory and list the contents of every subdirectory beneath it.
exa --recurse
For symbolic links, exa
handles them very well
exa -l /etc/localtime /etc/resolv.conf
So, enjoy it
Conclusion
Exa is a tool that increases our productivity on the terminal. It is not surprising that more and more people use it in their daily work. Now that you know it, tell us about it.