Les bases du terminal que tout dev devrait maîtriser

Navigation

bash copier

cd - # retourne au répertoire précédent
cd ~ # home directory
pwd # affiche le chemin courant
ls -lah # liste avec tailles lisibles et fichiers cachés

Chercher des fichiers

bash copier

# Trouver un fichier par nom
find . -name "config.php"

# Trouver et exécuter une action
find . -name "*.log" -delete

# Chercher dans le contenu des fichiers
grep -r "SITE_URL" .
grep -rn "function getPosts" . # avec numéros de ligne

fd — une alternative moderne à find

bash copier

fd config # trouve tous les fichiers avec "config" dans le nom
fd -e php # uniquement les .php
fd -e md posts/ # .md dans le dossier posts

Chaîner les commandes

bash copier

commande1 && commande2 # exécute 2 si 1 réussit
commande1 || commande2 # exécute 2 si 1 échoue
commande1 ; commande2 # exécute toujours 2
commande1 | commande2 # pipe : sortie de 1 → entrée de 2

Exemple concret :

bash copier

# Compter les fichiers PHP modifiés aujourd'hui
find . -name "*.php" -newer index.php | wc -l

# Afficher les 20 fichiers les plus lourds
du -sh * | sort -hr | head -20

Raccourcis clavier essentiels

Raccourci | Action
Ctrl+C | Stopper le processus en cours
Ctrl+Z | Suspendre (reprendre avec fg)
Ctrl+R | Recherche dans l'historique
Ctrl+L | Vider l'écran (= clear)
Ctrl+A | Aller en début de ligne
Ctrl+E | Aller en fin de ligne
!! | Répéter la dernière commande
!$ | Dernier argument de la commande précédente

Gestion des processus

bash copier

ps aux | grep php # chercher un processus
kill -9 PID # forcer l'arrêt
top # moniteur en temps réel
htop # version améliorée (à installer)

SSH sans mot de passe

bash copier

# Générer une clé
ssh-keygen -t ed25519 -C "mon@email.com"

# Copier la clé publique sur le serveur
ssh-copy-id user@serveur.com

# Ou manuellement
cat ~/.ssh/id_ed25519.pub | ssh user@serveur "cat >> ~/.ssh/authorized_keys"

Alias utiles à mettre dans ~/.bashrc ou ~/.zshrc

bash copier

alias ll='ls -lah'
alias ..='cd ..'
alias ...='cd ../..'
alias gs='git status'
alias gc='git commit -m'
alias grep='grep --color=auto'
alias myip='curl ifconfig.me'

man <commande> — la documentation complète de n'importe quelle commande, directement dans le terminal. man man pour commencer.