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