Alias Linux et Windows : arrêtez de retaper les mêmes commandes
Transformer les commandes longues et répétitives en raccourcis d'une ligne — sur Linux/macOS avec bash/zsh, et sur Windows avec PowerShell.
Chaque développeur tape les mêmes commandes des dizaines de fois par jour. git status, docker compose up -d, cd ~/projects/mon-projet, npm run dev. Ces commandes ne sont pas longues au point d'être pénibles — mais elles s'accumulent. Multiplié par 50 fois par jour, sur une semaine, c'est du bruit cognitif inutile.
Les alias résolvent ça. Un alias, c'est un mot court que le shell remplace par une commande longue avant de l'exécuter. Vous tapez gs, le shell exécute git status. Vous tapez dcu, le shell exécute docker compose up -d.
Alias sur Linux et macOS
Créer un alias temporaire
alias gs="git status"
alias ll="ls -la --color=auto"
alias dcu="docker compose up -d"Ces alias existent dans la session courante. Fermer le terminal les supprime.
Rendre les alias permanents
Pour bash, ajoutez vos alias dans ~/.bashrc (Linux) ou ~/.bash_profile (macOS avec bash) :
# ~/.bashrc
# Navigation
alias ..="cd .."
alias ...="cd ../.."
alias ~="cd ~"
# Git
alias gs="git status"
alias ga="git add -A"
alias gc="git commit -m"
alias gp="git push"
alias gl="git log --oneline --graph --decorate -20"
alias gco="git checkout"
alias gcb="git checkout -b"
# Docker
alias dcu="docker compose up -d"
alias dcd="docker compose down"
alias dcr="docker compose restart"
alias dps="docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'"
alias dlogs="docker compose logs -f"
# Node / npm
alias ni="npm install"
alias nr="npm run"
alias nd="npm run dev"
alias nb="npm run build"
# Système
alias ll="ls -la --color=auto"
alias df="df -h"
alias free="free -h"Pour zsh (défaut sur macOS depuis Catalina), c'est ~/.zshrc.
Appliquer sans redémarrer le terminal :
source ~/.bashrc
# ou
source ~/.zshrcAlias avec arguments — les fonctions
Les alias ne prennent pas d'arguments. Pour créer un raccourci qui accepte des paramètres, utilisez une fonction :
# ~/.bashrc
# Créer un dossier et y entrer directement
mkcd() {
mkdir -p "$1" && cd "$1"
}
# git add + commit en une commande
gac() {
git add -A && git commit -m "$1"
}
# Chercher dans l'historique
hgrep() {
history | grep "$1"
}
# Tuer un processus par nom
killport() {
lsof -ti :$1 | xargs kill -9
}
# Extraire n'importe quelle archive
extract() {
case "$1" in
*.tar.gz) tar xzf "$1" ;;
*.tar.bz2) tar xjf "$1" ;;
*.zip) unzip "$1" ;;
*.gz) gunzip "$1" ;;
*.rar) unrar e "$1" ;;
*) echo "Format non reconnu: $1" ;;
esac
}Utilisation :
mkcd nouveau-projet # crée le dossier et entre dedans
gac "feat: add login" # git add -A && git commit -m "feat: add login"
killport 3000 # tue le processus sur le port 3000
extract archive.tar.gz # extrait sans se souvenir des options tarOrganiser dans plusieurs fichiers
Pour ne pas transformer ~/.bashrc en décharge, séparez les alias par thème :
# ~/.bashrc
[ -f ~/.aliases/git.sh ] && source ~/.aliases/git.sh
[ -f ~/.aliases/docker.sh ] && source ~/.aliases/docker.sh
[ -f ~/.aliases/node.sh ] && source ~/.aliases/node.sh# ~/.aliases/docker.sh
alias dcu="docker compose up -d"
alias dcd="docker compose down --volumes"
alias dps="docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'"
dclog() {
docker compose logs -f "$1"
}Alias sur Windows — PowerShell
Créer un alias temporaire
Set-Alias -Name gs -Value "git status"Limitation : Set-Alias ne supporte que les commandes simples — pas les commandes avec arguments. Pour des commandes complexes, utilisez des fonctions.
Le profil PowerShell
Équivalent du ~/.bashrc sous Windows :
# Trouver le chemin du profil
$PROFILE
# C:\Users\VotreNom\Documents\PowerShell\Microsoft.PowerShell_profile.ps1Si le fichier n'existe pas :
New-Item -ItemType File -Path $PROFILE -ForceÉditez-le :
notepad $PROFILE
# ou dans VS Code
code $PROFILEAlias et fonctions dans le profil
# $PROFILE
# Navigation
function .. { Set-Location .. }
function ... { Set-Location ..\.. }
# Git
function gs { git status }
function ga { git add -A }
function gp { git push }
function gl { git log --oneline --graph --decorate -20 }
function gc {
param([string]$message)
git commit -m $message
}
function gac {
param([string]$message)
git add -A
git commit -m $message
}
# Docker
function dcu { docker compose up -d }
function dcd { docker compose down }
function dps { docker ps --format "table {{.Names}}`t{{.Status}}`t{{.Ports}}" }
function dclog {
param([string]$service)
docker compose logs -f $service
}
# Utilitaires
function which {
param([string]$cmd)
(Get-Command $cmd).Source
}
function killport {
param([int]$port)
$pid = (Get-NetTCPConnection -LocalPort $port -ErrorAction SilentlyContinue).OwningProcess
if ($pid) { Stop-Process -Id $pid -Force; Write-Host "Tué PID $pid" }
else { Write-Host "Aucun processus sur le port $port" }
}Appliquer sans redémarrer :
. $PROFILEAutoriser l'exécution de scripts
Par défaut, Windows bloque l'exécution de scripts PowerShell. Si votre profil ne charge pas :
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserAlias Git natifs
Git a son propre système d'alias, indépendant du shell :
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.last "log -1 HEAD"
git config --global alias.unstage "reset HEAD --"
git config --global alias.visual "log --oneline --graph --all"Ces alias fonctionnent dans tous les shells (bash, zsh, PowerShell) et sur toutes les machines où ce .gitconfig est présent.
git st # git status
git co main # git checkout main
git visual # log graphiquePartager ses alias entre machines
Committer ses dotfiles dans un repo Git et les synchroniser entre machines est une pratique commune. Structure simple :
~/dotfiles/
├── .bashrc
├── .zshrc
├── .gitconfig
└── aliases/
├── git.sh
├── docker.sh
└── node.shUn script install.sh crée les symlinks vers les bons endroits. Sur un nouveau poste, git clone + ./install.sh et vous retrouvez votre environnement complet en deux minutes.
Les alias ne transforment pas votre workflow du jour au lendemain — ils s'accumulent. Commencez avec 5 alias pour les commandes que vous tapez vraiment tous les jours, et ajoutez-en de nouveaux quand vous vous surprenez à retaper la même chose pour la troisième fois de la journée.
Pour aller plus loin sur le terminal Linux, les 50 commandes Linux essentielles couvre les commandes de base avec leurs options les plus utiles.
Si vous êtes sur Windows et cherchez à automatiser davantage, Chocolatey : gérer ses logiciels Windows en ligne de commande est l'équivalent d'apt ou brew pour installer et mettre à jour vos outils en une commande.