Remplacer les commandes de base Linux
Les commandes Unix historiques font le job, mais des alternatives modernes — souvent écrites en Rust — offrent une meilleure ergonomie, une sortie colorisée, et parfois des gains de performance significatifs.
Installation
Tous ces outils sont disponibles via Homebrew (brew install <tool>) et la plupart via apt/dnf sur Linux.
Fichiers & répertoires
ls → lsd
lsd ajoute icônes, couleurs, et une vue arborescente intégrée :
lsd # liste classique avec icônes
lsd -la # détails complets
lsd --tree # vue arborescente (remplace tree)
lsd --tree --depth 2 # limiter la profondeur
exa / eza
exa était l'alternative historique mais le projet est archivé depuis 2022. Son fork eza continue mais lsd reste mon choix par défaut.
cat → bat
bat ajoute numéros de ligne, coloration syntaxique, intégration git, et pagination automatique :
bat script.sh # affichage colorisé
bat --style=plain file # sans décoration (alias cat)
bat -A file # affiche les caractères non-imprimables
Intégration git : les lignes modifiées sont marquées dans la gouttière gauche par rapport à l'index git.
find → fd
fd est plus rapide, respecte .gitignore par défaut, et a une syntaxe simplifiée :
fd pattern # recherche par nom (récursif)
fd -e md # filtrer par extension
fd -t f pattern # fichiers uniquement
fd -t d pattern # répertoires uniquement
fd --hidden pattern # inclure les fichiers cachés
fd pattern -x cmd {} # exécuter une commande sur chaque résultat
du → dust
dust affiche les plus gros éléments avec une barre visuelle de proportion :
dust # analyse du répertoire courant
dust -d 2 # limiter la profondeur
dust /var/log # sur un répertoire spécifique
df → dfc
dfc est un df légèrement plus lisible, avec graphe d'utilisation en ASCII :
Pour un rendu encore plus visuel, duf est une alternative en Go avec une UI colorisée et des filtres :
rm → rip
rip déplace les fichiers dans un répertoire temporaire plutôt que de les supprimer définitivement :
rip file.txt # "suppression" récupérable
rip --seance # liste les fichiers supprimés
rip --unbury file # restaurer un fichier
Filet de sécurité indispensable quand on travaille vite.
Recherche dans les fichiers
grep → ripgrep
ripgrep est en moyenne 2× plus rapide que grep. Il respecte .gitignore par défaut et supporte les expressions régulières avancées :
rg pattern # recherche dans le répertoire courant
rg pattern -t py # filtrer par type de fichier
rg -l pattern # afficher uniquement les noms de fichiers
rg -i pattern # insensible à la casse
rg pattern --hidden # inclure les fichiers cachés
rg -A 3 -B 3 pattern # contexte avant/après
Processus & système
top → htop / bottom
htop est le successeur naturel de top, avec une interface interactive et des filtres :
bottom (btm) va plus loin avec graphes CPU/mémoire/réseau en temps réel :
ps → procs
procs affiche les processus de manière lisible avec coloration et recherche :
procs # liste tous les processus
procs nginx # filtrer par nom
procs --tree # vue arborescente des processus
Réseau
dig → dog
dog offre une sortie colorisée et une syntaxe plus intuitive que dig :
dog example.com # requête A par défaut
dog example.com MX # enregistrement MX
dog example.com @8.8.8.8 # serveur DNS spécifique
Limitation
dog ne supporte pas l'équivalent de dig -x (reverse DNS). Pour le reverse DNS, utiliser dig -x ou host.
ping / mtr → trippy
trippy (trip) combine ping et traceroute dans une UI interactive :
curl → httpie
HTTPie (http) simplifie les requêtes HTTP avec une syntaxe intuitive et une sortie colorisée :
http GET example.com/api
http POST api.example.com/users name=john email=j@example.com
http -A bearer -a token123 GET api.example.com/secure
http --download example.com/file.zip
Compression
gzip → pigz
pigz est un gzip multithread — gain de performance de ×3 sur les machines multi-cœurs :
pigz file.txt # compression (remplace gzip)
pigz -d file.txt.gz # décompression
tar -I pigz -czf archive.tar.gz dir/ # via tar
Git
diff → delta
delta remplace le pager de diff de git avec coloration syntaxique et affichage côte-à-côte :
Voir la configuration complète dans les dotfiles.
git log → tig
tig est une interface ncurses légère pour naviguer dans l'historique git :
tig # historique interactif
tig blame file.txt # blame interactif
tig status # vue status interactive
Lecture & exploration
man / docs → glow
glow rend le Markdown dans le terminal avec style :
glow README.md # affichage formaté
glow -p README.md # avec pagination
glow # naviguer dans les .md du répertoire
Récapitulatif
| Commande | Remplacement | Langage | Alias |
|---|---|---|---|
ls | lsd | Rust | alias ls='lsd' |
cat | bat | Rust | alias cat='bat --style=plain' |
find | fd | Rust | alias f='fd' |
du | dust | Rust | — |
df | dfc | C | alias df='dfc' |
rm | rip | Rust | alias rm='rip' |
grep | ripgrep | Rust | — |
top | htop / bottom | C / Rust | — |
ps | procs | Rust | — |
dig | dog | Rust | alias dig='dog' |
ping/mtr | trippy | Rust | — |
curl | httpie | Python | — |
gzip | pigz | C | — |
git diff | delta | Rust | (pager git) |
vim | nvim | C | alias vim='nvim' |
Voir aussi
- Dotfiles — configuration des aliases et intégration dans le shell
- La commande find — syntaxe complète de find (avant de migrer vers fd)
- DFC, la commande DF en plus — alternative légère à du/df