![]()
eza est un remplaçant moderne de ls, écrit en Rust : couleurs par type, statut Git, icônes et dates relatives, le tout en une commande. Il liste vos fichiers de façon plus lisible et plus rapide, même sur des dossiers contenant des milliers d'entrées.
Ce guide s'adresse à toute personne qui vit dans le terminal. Vous allez installer eza, découvrir les commandes du quotidien, afficher le statut Git, l'arborescence et les dates relatives, puis créer des alias pour remplacer ls définitivement.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Installer eza sur Linux, macOS ou via Cargo.
- Lister vos fichiers avec couleurs, tailles lisibles et dates.
- Afficher le statut Git et l'arborescence d'un projet.
- Trier et filtrer par date, taille ou type d'entrée.
- Créer des alias pour remplacer
lsau quotidien.
Le problème que vous connaissez
Section intitulée « Le problème que vous connaissez »Vous tapez ls -la dans un dossier avec 50 fichiers. Tout est blanc sur noir. Vous cherchez un fichier modifié récemment, mais impossible de distinguer les dates. Vous voulez voir si un fichier est suivi par Git, mais il faut lancer git status à part.
eza résout ce problème en une commande.
Les dossiers sont en bleu, les exécutables en vert, les fichiers ignorés par Git sont grisés. Vous voyez immédiatement ce qui vous intéresse.
Ce qu'eza apporte par rapport à ls
Section intitulée « Ce qu'eza apporte par rapport à ls »Le tableau ci-dessous compare des fonctions d'affichage, pas des
performances. Deux lignes justifient à elles seules le remplacement au
quotidien : le statut Git intégré, qui évite l'aller-retour vers git status, et les dates relatives, qui répondent à la question réellement
posée (« qu'est-ce qui a bougé récemment ? ») au lieu d'une date brute à
convertir mentalement.
| Fonctionnalité | ls | eza |
|---|---|---|
| Couleurs par type | Basique | Complet (images, archives, code...) |
| Icônes | Non | Oui, avec Nerd Fonts |
| Statut Git | Non | Oui (M = modifié, I = ignoré) |
| Dates relatives | Non | Oui ("3 hours", "1 week") |
| Arborescence | Non | Oui (eza -T) |
| Hyperlinks | Non | Oui (Ctrl+clic ouvre le fichier) |
eza est écrit en Rust. Il est rapide, même sur des dossiers avec des milliers de fichiers.
Installez eza en 1 minute
Section intitulée « Installez eza en 1 minute »Le paquet est disponible directement dans les dépôts de Fedora, Arch et
Homebrew. Sur Debian et Ubuntu, eza n'est pas dans les dépôts officiels : la
procédure ci-dessous ajoute le dépôt tiers signé maintenu par le projet,
avec sa clé publique déposée dans /etc/apt/keyrings/. C'est la méthode
recommandée par eza, et elle a l'avantage de rendre les mises à jour
automatiques via apt upgrade. Si vous préférez ne pas ajouter de dépôt tiers,
l'onglet Cargo compile depuis les sources.
# Ajouter le dépôtsudo mkdir -p /etc/apt/keyringswget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o /etc/apt/keyrings/gierens.gpgecho "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | sudo tee /etc/apt/sources.list.d/gierens.list
# Installersudo apt update && sudo apt install -y eza
# Vérifiereza --versionsudo dnf install ezaeza --versionsudo pacman -S ezaeza --versionbrew install ezaeza --versioncargo install ezaeza --versionVotre première commande
Section intitulée « Votre première commande »Ouvrez un terminal et tapez :
eza -laVous voyez quelque chose comme :
drwxrwxr-x - bob 30 Jan 14:06 .astro.rw-rw-r-- 1.3k bob 24 Jan 19:09 .envrcdrwxr-xr-x - bob 13 Jan 16:17 .github.rw-rw-r-- 3.7k bob 24 Jan 19:12 .gitignore.rw-rw-r-- 238k bob 30 Jan 09:19 astro.config.mjsdrwxr-xr-x - bob 27 Jan 18:55 srcLe contenu correspond à celui de ls -la, avec trois différences visibles. Les dossiers apparaissent en bleu et les fichiers en blanc. Les tailles sont exprimées en unités lisibles sans avoir à demander -h (1.3k plutôt que 1342). Enfin, la colonne des permissions remplace le premier caractère de ls par un point pour les fichiers ordinaires, ce qui rend les répertoires plus faciles à repérer en balayant la colonne.
Les 4 situations que vous rencontrerez
Section intitulée « Les 4 situations que vous rencontrerez »Situation 1 : "Je veux voir le statut Git"
Section intitulée « Situation 1 : "Je veux voir le statut Git" »Vous travaillez dans un repo Git et voulez voir quels fichiers sont modifiés, ajoutés ou ignorés.
Ce que vous faites :
eza -la --gitdrwxrwxr-x - bob 30 Jan 14:06 -I .astro.rw-rw-r-- 1.3k bob 24 Jan 19:09 -I .envrcdrwxr-xr-x - bob 13 Jan 16:17 -- .github.rw-rw-r-- 3.7k bob 24 Jan 19:12 -M .gitignore.rw-rw-r-- 238k bob 30 Jan 09:19 -- astro.config.mjsLa colonne Git affiche :
| Code | Signification |
|---|---|
-- | Non modifié (suivi par Git, propre) |
-M | Modifié (pas encore commité) |
-N | Nouveau fichier (pas encore ajouté) |
-I | Ignoré (dans .gitignore) |
Situation 2 : "Je veux voir l'arborescence d'un projet"
Section intitulée « Situation 2 : "Je veux voir l'arborescence d'un projet" »Vous découvrez un nouveau projet et voulez voir sa structure.
Ce que vous faites :
eza -T --level=2.├── docs│ └── MIGRATION-GLOSSARY-FINAL-REPORT.md├── public│ ├── images│ └── robots.txt├── src│ ├── assets│ ├── components│ └── content└── package.json--level=2 limite la profondeur à 2 niveaux. Sans cette option, vous verriez l'arborescence complète (potentiellement très longue).
Situation 3 : "Je veux trouver les fichiers récents"
Section intitulée « Situation 3 : "Je veux trouver les fichiers récents" »Vous cherchez ce que vous avez modifié cette semaine.
Ce que vous faites :
eza -l --time-style=relative --sort=modified.rw-rw-r-- 65 bob 3 weeks commitlint.config.js.rw-rw-r-- 11k bob 3 weeks LICENSE.rw-rw-r-- 16k bob 1 day GUIDE-COMMAND-TRAINING-COMPONENTS.md.rw-rw-r-- 238k bob 4 hours astro.config.mjsdrwxrwxr-x - bob 2 minutes distLes fichiers les plus récents sont en bas. "4 hours", "2 minutes", vous voyez immédiatement l'activité récente.
Situation 4 : "Je veux lister uniquement les dossiers"
Section intitulée « Situation 4 : "Je veux lister uniquement les dossiers" »Vous cherchez un dossier spécifique dans un projet avec beaucoup de fichiers.
Ce que vous faites :
eza -Ddist docs new node_modules public scripts secrets src src-schema todo-D filtre pour n'afficher que les dossiers. Utile quand vous naviguez dans un projet.
Les options les plus utiles
Section intitulée « Les options les plus utiles »Les quatre tableaux ci-dessous regroupent les options par intention : ce qui
change la forme de la sortie, ce qui ajoute des colonnes, ce qui
sélectionne les entrées, et ce qui règle le format des dates. Elles se
combinent librement, eza --help affiche la liste complète.
Affichage de base
Section intitulée « Affichage de base »Ces cinq options déterminent la disposition. Un point non évident : par
défaut, eza affiche en grille multi-colonnes, pas en liste. -l bascule en
mode table détaillée, -1 en liste simple, ce qui est la forme à utiliser quand
la sortie est destinée à un autre programme.
| Option | Ce que ça fait |
|---|---|
-l | Liste longue (permissions, taille, date) |
-a | Affiche les fichiers cachés |
-1 | Une entrée par ligne |
-T | Arborescence (tree) |
-R | Récursif (descend dans les dossiers) |
Informations supplémentaires
Section intitulée « Informations supplémentaires »Ces options ajoutent une colonne et n'ont d'effet qu'en mode long (-l),
sauf --icons. --header mérite d'être activé le temps de mémoriser l'ordre
des colonnes, il nomme chacune d'elles en première ligne. --git a un coût : il
interroge le dépôt à chaque appel, ce qui se ressent sur un très gros dépôt.
| Option | Ce que ça fait |
|---|---|
--git | Affiche le statut Git |
--icons | Affiche les icônes (nécessite Nerd Fonts) |
--header | Ajoute une ligne d'en-tête |
--hyperlink | Rend les fichiers cliquables |
Tri et filtrage
Section intitulée « Tri et filtrage »Le tri par défaut se fait sur le nom. --sort accepte notamment name,
extension, size, type, created, modified, accessed, changed,
inode et none ; ajoutez -r pour inverser l'ordre. Attention à
--git-ignore, qui masque les fichiers listés dans .gitignore : pratique pour
retrouver son code au milieu d'un node_modules, trompeur si vous cherchez
justement un artefact de build.
| Option | Ce que ça fait |
|---|---|
--sort=size | Trie par taille |
--sort=modified | Trie par date de modification |
--group-directories-first | Dossiers en premier |
-D | Uniquement les dossiers |
-f | Uniquement les fichiers |
--git-ignore | Ignore les fichiers du .gitignore |
Format des dates
Section intitulée « Format des dates »Choisissez selon l'usage : relative pour lire une activité d'un coup d'oeil,
long-iso ou full-iso dès qu'il faut comparer ou trier des dates
précises. Deux valeurs supplémentaires existent au-delà du tableau : full-iso,
qui ajoute les secondes et le fuseau, et un format libre au moyen d'un préfixe
+, par exemple --time-style='+%Y-%m-%d %H:%M'.
| Option | Exemple |
|---|---|
--time-style=default | "30 Jan 14:06" |
--time-style=relative | "4 hours", "3 weeks" |
--time-style=iso | "2026-01-30" |
--time-style=long-iso | "2026-01-30 14:06" |
Créez un alias pour remplacer ls
Section intitulée « Créez un alias pour remplacer ls »Ajoutez dans votre ~/.bashrc ou ~/.zshrc :
# Alias de basealias ls='eza'alias ll='eza -la --git --group-directories-first'alias lt='eza -T --level=2'alias lr='eza -la --sort=modified --time-style=relative'Rechargez votre shell :
exec $SHELLMaintenant :
ls→ eza avec couleursll→ liste complète avec Gitlt→ arborescencelr→ fichiers récents
Icônes avec Nerd Fonts
Section intitulée « Icônes avec Nerd Fonts »Pour afficher les icônes de fichiers, vous devez utiliser une police Nerd Font dans votre terminal.
-
Téléchargez une Nerd Font
Allez sur nerdfonts.com et téléchargez une police. Recommandations :
- FiraCode Nerd Font, populaire, lisible
- JetBrainsMono Nerd Font, moderne, propre
- Hack Nerd Font, classique
-
Installez la police
- Linux : Copiez les fichiers
.ttfdans~/.local/share/fonts/puisfc-cache -fv - macOS : Double-cliquez sur le fichier
.ttf - Windows : Clic droit → Installer
- Linux : Copiez les fichiers
-
Configurez votre terminal
Dans les paramètres de votre terminal (GNOME Terminal, iTerm2, Windows Terminal...), sélectionnez la Nerd Font que vous avez installée.
-
Testez
Fenêtre de terminal eza --iconsChaque nom de fichier est précédé d'un pictogramme : un dossier pour les répertoires, le logo du langage pour les fichiers de code (Python, JavaScript, Rust...), une icône d'archive pour les
.tar.gz, et ainsi de suite. Si vous voyez des carrés vides ou des points d'interrogation, la police n'est pas celle que vous croyez.
Configuration avancée (thème personnalisé)
Section intitulée « Configuration avancée (thème personnalisé) »eza supporte les thèmes via un fichier YAML. Le fichier est cherché dans le
répertoire de configuration, ~/.config/eza/ par défaut, ou celui désigné par
la variable EZA_CONFIG_DIR. Un thème n'est pas obligatoire : il sert à
harmoniser les couleurs avec celles de votre terminal, en particulier sur les
thèmes clairs où le gris par défaut des fichiers ignorés devient illisible.
Créez ~/.config/eza/theme.yml :
# Couleurs des permissionsfilekinds: directory: foreground: Blue executable: foreground: Green symlink: foreground: Cyan
# Couleurs des taillessize: number: foreground: Yellow unit: foreground: Yellow
# Couleurs Gitgit: modified: foreground: Yellow ignored: foreground: BrightBlackLes couleurs disponibles : Black, Red, Green, Yellow, Blue, Purple, Cyan, White (et leurs variantes Bright).
Comparaison avec ls
Section intitulée « Comparaison avec ls »Ce tableau sert de table de conversion pour les réflexes acquis avec ls.
Notez l'absence de -h : eza affiche les tailles en unités lisibles par
défaut, et -h y désigne autre chose. Notez aussi que ls -lt ne se traduit
pas par eza -lt mais par eza -l --sort=modified.
| Commande ls | Équivalent eza |
|---|---|
ls -la | eza -la |
ls -lh | eza -l (human-readable par défaut) |
ls -lt | eza -l --sort=modified |
ls -lS | eza -l --sort=size |
ls -lR | eza -lR ou eza -T |
ls --color=auto | eza (couleurs par défaut) |
Dépannage
Section intitulée « Dépannage »Les couleurs ne s'affichent pas :
Vérifiez votre variable TERM :
echo $TERMElle devrait être xterm-256color ou similaire. Si ce n'est pas le cas, ajoutez à votre ~/.bashrc :
export TERM=xterm-256colorLes icônes s'affichent mal :
Votre terminal n'utilise pas une Nerd Font. Voir la section "Icônes avec Nerd Fonts".
eza est lent sur certains dossiers :
Si le dossier est dans un repo Git avec beaucoup de fichiers, --git peut être lent. Utilisez --no-git pour désactiver.
eza -la --no-git /chemin/vers/gros/repoUne option est refusée alors qu'elle figure dans ce guide :
Certaines options sont arrivées au fil des versions. Commencez par afficher la liste réellement supportée par votre binaire, elle fait autorité sur n'importe quelle documentation :
eza --versioneza --helpNe vous fiez pas au numéro pour juger de l'ancienneté : eza étant un fork
d'exa, sa numérotation commence à 0.10.x. Une version 0.x n'a donc rien
d'un logiciel abandonné. Comparez plutôt avec la dernière version publiée sur le
dépôt du projet.
FAQ : questions fréquentes
Section intitulée « FAQ : questions fréquentes »Les questions ci-dessous complètent le guide sur les points qui reviennent le
plus souvent : ce qu'est eza exactement, s'il remplace vraiment ls, sa
filiation avec exa et la mise en place des icônes.
ls, écrit en Rust. Il ajoute des couleurs par type de fichier, le statut Git, des icônes (avec Nerd Fonts), des dates relatives et un affichage en arborescence (-T), tout en restant rapide sur les gros dossiers.ls -la devient eza -la, ls -lt devient eza -l --sort=modified. On crée généralement des alias (alias ls='eza') pour l'adopter sans changer ses habitudes. ls reste toutefois utile dans les scripts portables.--icons, mais elle nécessite une police Nerd Font configurée dans le terminal. Sans cette police, les icônes apparaissent comme des carrés ou des points d'interrogation. On installe par exemple FiraCode Nerd Font, puis on la sélectionne dans les paramètres du terminal.À retenir
Section intitulée « À retenir »eza -laremplacels -laavec des couleurs--gitaffiche le statut Git de chaque fichier--iconsaffiche les icônes (nécessite Nerd Fonts)-Taffiche l'arborescence (comme tree)--time-style=relativeaffiche "3 hours" au lieu de "30 Jan 14:06"--group-directories-firstmet les dossiers en haut- Créez des alias pour ne plus jamais taper les options
Prochaines étapes
Section intitulée « Prochaines étapes »Ressources
Section intitulée « Ressources »- Site officiel, Installation et fonctionnalités
- GitHub eza, Code source et issues
- Nerd Fonts, Polices avec icônes