Développement

Commandes terminal Unix/Linux essentielles

Naviguer, manipuler des fichiers, chercher, gérer les processus : le socle du terminal sous Linux et macOS.

Gratuit Mis à jour le 11 septembre 2026

Naviguer

pwd                  # afficher le dossier courant
cd dossier/          # se déplacer dans "dossier"
cd ..                # remonter d'un niveau
cd -                 # revenir au dossier précédent
ls -lah              # lister (détail, fichiers cachés, tailles lisibles)

Fichiers et dossiers

touch fichier        # créer un fichier vide (ou mettre à jour sa date)
mkdir -p a/b/c       # créer des dossiers imbriqués en une seule commande
cp fichier dest      # copier un fichier
cp -r src/ dst/      # copier un dossier (récursif)
mv a b               # déplacer ou renommer
rm fichier           # supprimer un fichier
rm -i fichier        # supprimer en demandant confirmation
rm -r dossier/       # supprimer un dossier et tout son contenu

rm (surtout avec -r ou -rf) supprime définitivement, sans corbeille pour revenir en arrière. Vérifiez toujours le chemin avant de valider, et utilisez -i en cas de doute.

Chercher

find . -name "*.log" -mtime -1   # fichiers .log modifiés il y a moins d'un jour
grep -rn "TODO" src/              # chercher "TODO" récursivement, avec les numéros de ligne
rg "motif"                         # ripgrep : même usage, mais beaucoup plus rapide

Lire et filtrer

cat fichier              # afficher tout le contenu d'un coup
less fichier             # afficher page par page (q pour quitter)
head -n 20 fichier       # les 20 premières lignes
tail -f app.log          # les dernières lignes, en suivant les ajouts en direct
wc -l fichier            # compter les lignes
sort fichier | uniq -c   # trier puis compter les doublons
cut -d',' -f1 data.csv   # extraire la 1re colonne d'un fichier CSV

Processus

ps aux                # lister tous les processus en cours
ps aux | grep node    # ne garder que les processus contenant "node"
top                   # moniteur de processus en temps réel
htop                  # équivalent plus lisible (à installer séparément)
kill -9 <pid>         # arrêter un processus de force, via son PID
commande &            # lancer une commande en arrière-plan
jobs                  # lister les tâches en arrière-plan de la session
fg                    # ramener la dernière tâche au premier plan
bg                    # relancer en arrière-plan une tâche mise en pause

Permissions et redirections rapides

chmod +x script.sh        # rendre exécutable
sudo commande              # exécuter en administrateur
commande > fichier         # rediriger la sortie (écrase)
commande >> fichier        # rediriger en ajoutant à la fin
commande1 | commande2      # chaîner : sortie de 1 = entrée de 2

man commande affiche le manuel complet ; commande --help un résumé plus rapide à consulter.

Liens et archives

ln -s /chemin/cible lien       # créer un lien symbolique
tar -czvf archive.tar.gz dossier/   # compresser (gzip)
tar -xzvf archive.tar.gz            # extraire
zip -r archive.zip dossier/         # compresser en zip
unzip archive.zip                   # extraire un zip

Variables d'environnement

echo $HOME              # afficher une variable
export MA_VAR="valeur"  # définir pour la session courante
env                      # lister toutes les variables
which commande           # chemin de l'exécutable utilisé

Un export ne survit pas à la fermeture du terminal — pour une variable permanente, ajoutez la ligne dans ~/.bashrc, ~/.zshrc ou l'équivalent selon votre shell.

Espace disque et réseau

df -h                    # espace disque par partition
du -sh dossier/          # taille totale d'un dossier
ping exemple.com         # tester la connectivité
curl -I https://exemple.com   # récupérer juste les en-têtes HTTP
#Ligne de commande
naviguer ouvrir Esc fermer