How to Install and Use exa Command on Linux

Install and Use exa Command on Linux

In the world of command-line utilities, exa stands out as a powerful and feature-rich alternative to the traditional ‘ls‘ command. With its enhanced file listing capabilities and customization options, exa is a valuable tool for Linux users of all levels of expertise. This guide will walk you through the process of installing exa on your Linux system and help you harness its full potential.

Understanding the exa Command

Before diving into installation and usage, let’s gain a deeper understanding of what exa is and why it’s worth considering.

Background on the exa Command

exa is a modern command-line utility written in Rust. Its development started as a response to the limitations of ‘ls’ and aimed to provide a more user-friendly and visually appealing file listing experience.

Features and Capabilities

exa offers a plethora of features, including:

  • Color-coded Output: Distinguish files by type and metadata with colorful output.
  • Enhanced Sorting: Sort files by various attributes like modification time and file size.
  • File Metadata: View file sizes, permissions, and timestamps at a glance.
  • Customization: Tailor Exa’s output to your preferences with themes and formatting options.

Comparison with the traditional ‘ls’ command

Let’s briefly compare exa with the traditional ‘ls‘ command to highlight its advantages:

Key Differences and Improvements

  • Improved Readability: Colorful and structured output for better readability.
  • Intuitive Sorting: Easier sorting by different attributes.
  • Extended Information: More detailed file information is available.
  • Customization: Tailor the output to your needs.

Use Cases for the exa Command

exa proves useful in various scenarios:

Enhanced File Listing: exa provides a more informative and visually appealing file listing, making it easier to navigate directories.

Customization Options: Personalize exa’s output to suit your preferences and workflow.

Now that we have a grasp of what exa is and why it’s beneficial, let’s dive into the installation process.

Preparing Your Linux System

Before installing exa, you need to ensure that your Linux system meets the necessary requirements.

Checking System Requirements

Begin by confirming that your system has the prerequisites:

  • Rust: Although most Linux distributions include Rust in their package repositories, you may need to install it manually if it’s not already present.

Installing Rust Programming Language (if necessary)

If Rust is not installed on your system, follow these steps:

  1. Install Rust using your distribution’s package manager or download it from the official Rust website.

Now that Rust is set up, we can proceed with installing exa.

Using Package Managers for Installation

Here, we’ll explore how to install exa using different package managers based on your Linux distribution.

APT for Debian/Ubuntu-based Systems

sudo apt update
sudo apt install exa

YUM for Red Hat/CentOS-based Systems

sudo yum install exa

Pacman for Arch Linux

sudo pacman -S exa

Manual Installation from Source Code (Optional)

If your Linux distribution doesn’t offer exa in its repositories or you prefer to install from source, follow these steps:

Step 1: Downloading the exa Source Code

git clone

Step 2: Building and Installing

cd exa
cargo build --release
sudo cp target/release/exa /usr/local/bin/

Step 3: Verifying the Installation

To ensure that exa is correctly installed, run:

exa --version

Basic Usage of the exa Command

Now that you have exa installed, let’s explore its basic usage.

Running the exa Command

To start using exa, open your terminal and simply type:


This will display the contents of your current directory in an organized manner, complete with colors and file details.

Listing Files and Directories

By default, exa lists files and directories in your current location. However, you can specify directories or paths as arguments to view their contents.

exa /path/to/directory

Sorting and Filtering Options

exa allows you to sort and filter files using various options. Here are some commonly used ones:

  • -s, --sort: Sort files by different attributes such as modification time or file size.
  • -S, --reverse: Reverse the sorting order.
  • -R, --recurse: Recursively list directories.
  • -a, --all: Display hidden files.

Displaying File Metadata

You can display detailed file metadata using the -l or --long option:

exa -l

Using Color-Coded Output

One of exa’s standout features is its color-coded output. Different file types are displayed in distinct colors, making it easier to identify them at a glance.

Customizing the Output Format

exa allows you to customize its output to suit your preferences. You can create your own themes or adjust the formatting options using the --theme and --grid flags.

Paging Through Long Listings

When dealing with long directory listings, it’s handy to paginate through the results. You can do this by piping the output to a pager like less:

exa | less

Advanced Features and Customization

Now that you’ve mastered the basics of exa, let’s explore some advanced features and customization options.

Alias Creation for exa

You can create aliases to simplify your exa commands. Add the following line to your shell configuration file (e.g., .bashrc) to create an alias called l:

alias l='exa'

Now, you can use l it instead of exa in your terminal.

Integration with Shell Configuration Files

To make your alias permanent, add it to your shell configuration file (e.g., .bashrc, .zshrc). This ensures that your alias is available every time you open a terminal.

Combining exa with Other Commands

exa can be seamlessly integrated with other Linux commands. For example, you can use it in combination with grep or find for more advanced file operations.

Creating Custom Themes for exa

exa’s theming system allows you to customize its colors and appearance. You can create your own themes or use existing ones. To create a custom theme, follow the official exa documentation.

Exa’s Tree View for Directory Navigation

exa also offers a tree view for visualizing directory structures. Use the -T or --tree option to enable it:

exa -T

Tips and Tricks

Here are some tips and tricks to enhance your exa experience:

Keyboard Shortcuts and Navigation

  • Use arrow keys for navigation.
  • Press q to exit exa.

Batch Operations with exa

You can apply batch operations to files and directories using exa’s features. For instance, to delete all files with a specific extension, you can use:

exa --batch -rm *.txt

Generating Reports and Statistics

exa can help you generate detailed reports and statistics about your files and directories. Use the --long option to display extended information and apply filters to narrow down your search.

Scripting with exa

Automate tasks by incorporating exa commands into your scripts. This can streamline repetitive file management processes.

Troubleshooting and Common Issues

While exa is a reliable tool, you may encounter occasional issues. Here’s how to handle them:

Debugging Installation Problems

If you encounter installation issues, ensure that you’ve followed the installation steps correctly and that your system meets the requirements.

Handling Compatibility Issues

In rare cases, exa may not be compatible with certain terminal emulators or configurations. Try switching to a different terminal or checking for updates to resolve compatibility issues.

Reporting Bugs and Seeking Help

If you encounter bugs or need assistance, consider reaching out to the exa community or checking the official documentation for solutions.


In conclusion, the exa command is a powerful tool that significantly enhances your file listing and management experience on Linux. Its modern features, customization options, and ease of use make it a valuable addition to your command-line toolkit.

We encourage you to explore exa further, experiment with its features, and make it an integral part of your Linux workflow. With exa, you’ll find navigating and managing files on your Linux system more efficient and enjoyable.


r00t is a seasoned Linux system administrator with a wealth of experience in the field. Known for his contributions to, r00t has authored numerous tutorials and guides, helping users navigate the complexities of Linux systems. His expertise spans across various Linux distributions, including Ubuntu, CentOS, and Debian. r00t's work is characterized by his ability to simplify complex concepts, making Linux more accessible to users of all skill levels. His dedication to the Linux community and his commitment to sharing knowledge makes him a respected figure in the field.
Back to top button