Utility ls adalah command atau perintah standard di sistem operasi seperti Linux untuk menampilkan daftar file atau direktori/folder via terminal. Tapi, seiring perkembangan zaman, orang-orang (khususnya pengguna sistem operasi Unix-based, seperti Linux) mulai bosan dan ingin mencari suasana baru. Akhirnya, muncullah kreativitas yang mewarnai lingkungan Linux itu sendiri, salah satunya seperti yang akan saya bahas di artikel ini, yaitu utility / command exa.

Seperti terlihat di tangkapan layar (screenshot) di atas, me-list-ing direktori menggunakan exa memberikan kesan yang berbeda dibandingkan dengan menggunakan ls. exa memberikan kesan yang lebih modern dan sophisticated yang tampak dari pemberian warna yang bervariatif, tampilan icon untuk setiap jenis file dan folder, serta dapat menampilkan model listing dalam format cabang-cabang bergaris.
Note:
exadanezamenurut saya adalah dua utility yang beda nama, tapi sama kegunaannya. Beberapa distro seperti Debian (yang saya gunakan untuk membuat artikel ini) tidak menyediakanezadi official repository-nya, tapi menyediakanexa. Sebaliknya, distro lain (seperti Archlinux) mungkin tidak menyediakanexadi repo-nya, tapi menyediakaneza. Jadi, silakan install menyesuaikan dengan ketersidaan package-nya di masing-masing distro Linux.
Instalasi exa / eza#
Berikut tutorial instalasi exa / eza di masing-masing distro Linux:
| Distro | Command |
|---|---|
| Debian/Ubuntu | sudo apt install exa |
| Arch Linux | sudo pacman -Sy eza |
| Fedora | sudo dnf install eza |
| Opensuse | sudo zypper install exa |
Instalasi icon font#
Setelah selesai meng-install package exa / eza, kita juga perlu meng-install font untuk menampilkan file icons di terminal. Untuk kasus ini, kita bisa meng-install “Symbols Nerd Font” melalui langkah-langkah berikut:
- Download font Symbols Nerd Font di tautan berikut: https://www.nerdfonts.com/font-downloads
- Extract file NerdFontsSymbolsOnly.zip yang sudah terunduh:
unzip NerdFontsSymbolsOnly.zip
- Pindahkah kedua file font yang berhasil ter-extract (SymbolsNerdFont-Regular.ttf & SymbolsNerdFontMono-Regular.ttf) tersebut ke direktori
~/.fonts.
mkdir ~/.fonts
mv SymbolsNerdFont-Regular.ttf SymbolsNerdFontMono-Regular.ttf ~/.fonts
Fungsionalitas#
Beberapa fungsionalitas eza / exa yang akan di-cover dalam artikel ini yaitu terkait file icons dan tree.
Icons#
Perintah dasar untuk menampilkan icon setiap file dan direktori dengan exa adalah:
exa --icons

Selanjutnya, kita bisa menambahkannya dengan opsi lain. Misalnya, kita ingin menampilkan detail setiap file dan direktori (seperti permissions, owner, dan modification time) sambil tetap menampilkan icon-nya. Perintahnya:
exa -l --icons

Tree#
Terkadang, ada direktori atau folder yang ingin kita ketahui isinya ketika sedang melakukan listing file & direktori. Untuk melakukannya, gunakan perintah berikut:
exa --tree
atau
exa -T
Dengan perintah tersebut, exa akan me-listing semua isi direktori yang ada, bahkan direktori di dalam direktori sekalipun akan tetap di-listing sampai ke file terakhir. Akibatnya, jika kita memiliki child directory yang banyak dan panjang berikut juga file-filenya yang bejibun, tentu ini tidak akan efektif.
Solusi yang bisa kita gunakan untuk mengatasi hal tersebut di exa atau eza adalah dengan membatasi tingkatan cabang direktori-nya. Misal, kita hanya ingin menampilkan 2 tingkat cabang direktori saja, maka kita bisa gunakan perintah:
exa --tree --level 2
atau
exa -T --level=2

Sekarang, kita bisa membuat variasinya. Misal, saya ingin menampilkan informasi detail file-file dan direktori yang ada hingga 2 level cabang direktori, berikut juga tampilan icon-nya, perintahnya:
exa -lT --level 2 --icons

exa as an alias of ls @ ~/.bashrc#
Setelah mengetahui kedua basic functionality dari exa, kita bisa menggunakannya sebagai alias dari command di terminal. Artinya, setiap kali kita menggunakan perintah ls untuk me-listing file dan direktori di terminal, exa-lah yang akan dieksekusi.
Berikut adalah exa alias yang saya input-kan di ~/.bashrc:
alias ls='exa --icons'
alias ll='ls -l'
alias la='ls -a'
alias lla='ls -la'
alias ll2='ls -lT --level=2'
alias ll3='ls -lT --level=3'
Note:
Untuk mengaktifkan konfigurasi yang baru saja di-input-kan di~/.bashrcdi current terminal session, kita bisa menggunakan perintahsource ~/.bashrcatau membuka terminal baru untuk membuka terminal session yang baru.

