Ces commandes constituent les bases de la maîtrise du terminal. Une dizaine de commandes couvrent la grande majorité des interactions avec le terminal, y compris les opérations qu’effectuent des outils comme Claude Code lorsqu’ils explorent une base de code, exécutent des tests ou modifient des fichiers.
Navigation : se repérer
pwd affiche votre emplacement actuel. Exécutez-la en premier pour vous orienter chaque fois que vous n’êtes pas sûr de l’endroit où vous vous trouvez.
$ pwd/home/username/projectsls liste le contenu du répertoire courant. Les flags -la affichent les fichiers cachés (ceux commençant par .) en format détaillé :
$ ls -latotal 24drwxr-xr-x 3 user user 4096 Jan 15 10:30 .drwxr-xr-x 18 user user 4096 Jan 14 09:00 ..-rw-r--r-- 1 user user 220 Jan 15 10:30 .gitignoredrwxr-xr-x 2 user user 4096 Jan 15 10:30 src-rw-r--r-- 1 user user 1024 Jan 15 10:30 package.jsonLa sortie détaillée affiche les permissions, le propriétaire, la taille, la date de dernière modification et le nom. Le d en début de ligne indique un répertoire. Les fichiers cachés (commençant par .) incluent des fichiers de configuration comme .gitignore qui sont invisibles avec un simple ls.
cd change votre emplacement. Utilisez cd .. pour remonter d’un niveau, cd ~ pour revenir à votre répertoire personnel, et cd - pour basculer vers votre emplacement précédent :
cd Documents # Entrer dans le dossier Documentscd ../.. # Remonter de deux niveauxcd ~/projects/myapp # Accéder directement à un chemin absolu via le raccourci homecd - # Retourner à l'emplacement précédentLe raccourci cd - est sous-estimé. Lorsque vous naviguez entre deux répertoires — par exemple, un fichier de modèle et son fichier de test — cd - vous ramène sans avoir à retaper le chemin.
Opérations sur les fichiers : créer et gérer
mkdir crée des répertoires. Utilisez -p pour créer des dossiers imbriqués en une seule commande :
mkdir projectsmkdir -p projects/web/frontend/componentsSans -p, mkdir échoue si un répertoire parent n’existe pas. Avec -p, il crée la chaîne entière. Utilisez toujours -p lors de la création de structures imbriquées.
touch crée des fichiers vides ou met à jour les horodatages des fichiers existants :
touch newfile.txttouch index.js styles.css # Créer plusieurs fichierstouch est sans effet sur les fichiers existants — il se contente de mettre à jour l’horodatage de « dernière modification » sans changer le contenu. C’est la façon standard de créer un nouveau fichier vide depuis la ligne de commande.
cp copie des fichiers. Ajoutez -r pour les répertoires (copie récursive) :
cp original.txt backup.txtcp -r src/ src-backup/mv déplace ou renomme des fichiers. Il n’existe pas de commande de renommage séparée sous Unix — déplacer un fichier vers un nouveau nom dans le même répertoire est la façon de le renommer :
mv oldname.txt newname.txt # Renommermv file.txt ~/Documents/ # Déplacer vers DocumentsNotez que mv écrase la destination sans avertissement si un fichier y existe déjà.
rm supprime les fichiers de façon permanente. Consultez Terminal Safety for Beginners pour la discussion complète sur la sécurité. L’essentiel :
rm unwanted.txt # Supprimer un fichier (sans confirmation !)rm -i important.txt # Demander confirmation avant la suppressionrm -r foldername/ # Supprimer un dossier et son contenuConsultation du contenu des fichiers
cat affiche l’intégralité d’un fichier en une seule fois. Idéal pour les fichiers courts — fichiers de configuration, petits scripts, YAML :
cat config.jsonPour tout fichier dépassant un écran, cat affiche tout d’un coup et vous perdez le début. Utilisez plutôt less.
less offre une consultation paginée pour les fichiers longs. Naviguez avec les touches fléchées, espace pour la page suivante, q pour quitter :
less longfile.logDans less, vous pouvez rechercher avec /pattern (recherche vers l’avant) ou ?pattern (recherche vers l’arrière). Appuyez sur n pour passer à la correspondance suivante. C’est indispensable pour naviguer dans de grands fichiers journaux ou de longs fichiers sources.
head et tail affichent les premières ou dernières lignes. Le flag -n spécifie le nombre :
head -n 20 file.txt # 20 premières lignestail -n 50 server.log # 50 dernières lignestail -f app.log # Suivre le fichier en temps réel (idéal pour les journaux)tail -f est particulièrement utile pendant le développement. Il surveille un fichier et affiche les nouvelles lignes au fur et à mesure qu’elles sont ajoutées — parfait pour surveiller des fichiers journaux pendant qu’un processus tourne. Appuyez sur Ctrl+C pour arrêter le suivi.
Recherche
grep recherche des patterns de texte dans les fichiers. C’est l’une des commandes les plus puissantes et les plus utilisées — Claude Code s’appuie fortement sur son cousin plus rapide, ripgrep (rg), dans le même but.
grep "error" logfile.txt # Trouver les lignes contenant "error"grep -i "warning" app.log # Recherche insensible à la cassegrep -r "TODO" ./src/ # Recherche récursive dans le dossier srcgrep -n "function" script.js # Afficher les numéros de ligneLes flags que vous utiliserez le plus :
-i: insensible à la casse (trouve “Error”, “ERROR”, “error”)-r: récursif (recherche dans tous les fichiers de tous les sous-répertoires)-n: afficher les numéros de ligne avec les correspondances-c: compter les correspondances plutôt que les afficher
Combiner les flags est courant : grep -rni "error" ./src/ effectue une recherche récursive, insensible à la casse, avec numéros de ligne — l’une des commandes les plus utiles que vous puissiez exécuter.
find localise les fichiers par nom ou attributs. Là où grep recherche à l’intérieur des fichiers, find recherche les fichiers eux-mêmes :
find . -name "*.txt" # Trouver tous les fichiers .txt depuis le répertoire courantfind /home -name "config" # Trouver les fichiers nommés "config"find . -type f -name "*.log" # Trouver uniquement les fichiers (pas les répertoires)Le . dans find . signifie « commencer la recherche depuis le répertoire courant ». Vous pouvez le remplacer par n’importe quel chemin.
which révèle où se trouve une commande sur votre système :
which python # Affiche /usr/bin/python ou similairewhich nodeC’est utile lorsque vous avez plusieurs versions d’un outil installées et que vous voulez savoir laquelle le terminal utilise. Si which ne renvoie rien, la commande n’est pas installée ou n’est pas dans votre PATH.
Combiner les commandes
Les commandes Unix sont conçues pour fonctionner ensemble. L’opérateur pipe | envoie la sortie d’une commande en entrée de la suivante :
ls -la | grep ".json" # Lister les fichiers, filtrer sur les JSONcat logfile.txt | grep "error" # Lire le fichier, filtrer sur les erreursgrep -r "TODO" ./src/ | wc -l # Compter les commentaires TODO dans le code sourceLes opérateurs de redirection écrivent la sortie dans des fichiers :
ls > filelist.txt # Écrire la liste des fichiers dans filelist.txtecho "hello" >> notes.txt # Ajouter "hello" à notes.txt> crée ou écrase le fichier. >> y ajoute du contenu. Cette distinction est importante — utiliser > sur un fichier existant remplace entièrement son contenu.
Référence rapide
| Commande | Utilité | Sûre ? |
|---|---|---|
pwd | Afficher le répertoire courant | Oui |
ls | Lister le contenu d’un répertoire | Oui |
cd | Changer de répertoire | Oui |
cat | Afficher le contenu d’un fichier | Oui |
less | Consultation paginée | Oui |
head/tail | Premières/dernières lignes d’un fichier | Oui |
grep | Rechercher du texte dans des fichiers | Oui |
find | Localiser des fichiers par nom | Oui |
which | Trouver l’emplacement d’une commande | Oui |
mkdir | Créer des répertoires | Oui |
touch | Créer des fichiers vides | Oui |
cp | Copier des fichiers | Principalement |
mv | Déplacer/renommer des fichiers | Attention |
rm | Supprimer des fichiers | Attention |
Les dix premières commandes de ce tableau sont en lecture seule. C’est là que vous passerez 90% de votre temps, et elles ne peuvent endommager quoi que ce soit. Les trois dernières modifient votre système de fichiers et méritent l’attention décrite dans Terminal Safety for Beginners.