Utilisation du terminal 💻

Le terminal représente une interface de commande textuelle permettant d'interagir directement avec votre système d'exploitation via des commandes écrites. En effet, au lieu d'utiliser une interface graphique avec souris et icônes, vous saisissez des instructions textuelles spécifiques.

On peut donc voir le terminal comme l'ancêtre des interfaces graphiques modernes : avant l'Explorateur Windows ou le Finder, c'était le seul moyen de naviguer dans ses fichiers et de gérer son système.

Aujourd'hui, le terminal demeure un outil incontournable pour les développeurs, offrant plusieurs avantages : l'exécution rapide de commandes, la gestion complète des fichiers et dossiers (création, suppression, déplacement), la navigation efficace dans l'arborescence système, et l'automatisation des tâches répétitives.

Vous rencontrerez plusieurs appellations pour désigner cet outil : « console », « terminal », « ligne de commande » ou « term ». Ces termes sont souvent utilisés de façon interchangeable, bien qu'ils désignent techniquement des composants légèrement différents :

  • 💻 Terminal : Le programme qui affiche l’interface de commande
  • ⌨️ Ligne de commande : L’espace texte où s’écrivent les instructions
  • ⚙️ Shell : Le programme qui traite et exécute les commandes saisies

Cependant dans ce guide, nous utiliserons principalement le terme « terminal » par simplicité.

Ouvrir votre terminal

L'accès au terminal varie selon votre système d'exploitation :

  • Linux :
    • Navigation : Applications > Accessoires > Terminal
    • Raccourci rapide : Ctrl + Alt + T
  • macOS :
    • Le terminal se trouve dans : Applications > Utilitaires > Terminal.app
  • Windows :
    • La procédure est légèrement différente puisque nous utilisons WSL2 (voir section précédente) pour accéder à un environnement Linux complet.
    • Une fois WSL2 installé, vous pourrez ouvrir un terminal Linux directement depuis Windows.

    Pourquoi utiliser WSL2 plutôt que les outils Windows natifs ?

    Windows possède deux utilitaires de ligne de commande natifs :

    • L'invite de commande (CMD ou fenêtre de commande DOS)
    • PowerShell (présent sur les versions récentes de Windows)

    Bien que ces programmes partagent la même philosophie que le terminal Linux, ils utilisent des commandes différentes et ne sont pas compatibles avec l'écosystème de développement Linux standard. C'est pourquoi l'utilisation de WSL2 (Windows Subsystem for Linux 2) a été évoquée dans la section 1-installation-vscode.

Utiliser le terminal

Par défaut, le terminal s'ouvre dans votre répertoire personnel (home directory) : ~ sous Linux/macOS, ou C:\Users\votre_nom_utilisateur sous Windows. Vous pouvez maintenant exécuter des commandes, généralement représentées par des acronymes pour optimiser la frappe.

La commande pwd (Print Working Directory)

On va commencer avec pwd (Print Working Directory), qui affiche le répertoire de travail actuel. Tapez pwd dans votre terminal et appuyez sur Entrée. Que voyez-vous ?

La commande pwd retourne le chemin absolu de votre répertoire de travail actuel.

La commande cd (Change Directory)

Les fichiers sur votre ordinateur sont organisés dans des dossiers qui peuvent eux-mêmes contenir des sous-dossiers et des fichiers. Cette structure hiérarchique est appelée « arborescence de fichiers » – c'est ainsi que l'ensemble de vos documents sont organisés sur votre machine.

Pour vous déplacer dans cette arborescence, utilisez la commande cd (Change Directory), qui permet de changer de répertoire courant.

pwd             # Affiche le chemin absolu du répertoire courant
cd .            # Reste dans le répertoire actuel (aucun déplacement)
cd ..           # Remonte d'un niveau vers le dossier parent
La commande ls (List)
La commande ls (qui est le raccourci pour "list" en anglais) permet de lister le contenu d'un répertoire. Vous pouvez ajouter deux paramètres à la commande ls :
ls              # Liste les fichiers et dossiers du répertoire courant
ls -l           # Affichage détaillé (permissions, taille, date)
ls -la          # Affichage détaillé incluant les fichiers cachés

Si vous souhaitez lister le contenu d'un dossier dont le nom contient des espaces, comme le guide du data pro, cela posera problème : la commande ls interprétera chaque mot comme un dossier distinct (« le », « guide », « du », « data », « pro »).

Pour afficher le contenu d'un dossier dont le nom contient des espaces, vous pouvez utiliser des guillemets :

ls "le guide du data pro"
La commande mkdir (Make Directory)

La commande mkdir est la contraction de « make directory », soit « créer un répertoire » en français. Elle permet de créer de nouveaux dossiers dans votre système de fichiers.

Tapez mkdir suivi du nom du répertoire que vous souhaitez créer.

mkdir mon_dossier                    # Crée un dossier nommé "mon_dossier"
mkdir dossier1 dossier2 dossier3     # Crée plusieurs dossiers simultanément

Le terminal interprète l'espace comme un séparateur entre plusieurs arguments. Si votre nom de dossier contient des espaces, le terminal créera plusieurs dossiers distincts au lieu d'un seul.

Pour créer un dossier ou un fichier avec des espaces dans le nom, utilisez l'une de ces méthodes :

mkdir "le guide du data pro"         # Avec guillemets
mkdir le\ guide\ du\ data\ pro       # Avec antislash (échappement)

Bonne pratique :Évitez les espaces dans les noms de dossiers. Privilégiez les tirets ou underscores : mon-dossier ou mon_dossier.

Déplacer des fichiers avec mv

La commande mv (move) déplace ou renomme des fichiers.

mv exemple.txt dossier/              # Déplace le fichier dans "dossier"
mv ancien.txt nouveau.txt            # Renommer le fichier
mv dossier/exemple.txt .             # Déplace le fichier vers le répertoire courant (.)

Répéter mv pour chaque fichier individuellement devient rapidement répétitif avec un grand nombre de fichiers. Les wildcards (caractères joker) résolvent ce problème en permettant de cibler plusieurs fichiers à la fois grâce à des motifs. L'astérisque * est le wildcard le plus utilisé : il représente n'importe quelle suite de caractères.

mv *.txt dossier/                   # Déplace tous les fichiers .txt dans "dossier"
Copier avec cp

La commande cp copie des fichiers ou dossiers. Avec la syntaxe suivante : cp source destination

cp exemple.txt dossier/               # Copie le fichier vers "dossier"
cp *.txt dossier/                   # Copie plusieurs fichiers vers "dossier"

Pour copier un dossier avec son contenu, l'option -r (récursif) est obligatoire :

cp -r dossier/ dossier2/      # Copie le dossier et tout son contenu

L'option -r confirme que vous voulez copier l'intégralité de l'arborescence (tous les sous-dossiers et fichiers).

Supprimer avec rm

La commande rm (remove) supprime définitivement des fichiers ou dossiers.

rm fichier.txt                       # Supprime un fichier
rm *.txt                             # Supprime tous les .txt

Pour supprimer un dossier et tout son contenu (sous-dossiers et fichiers), l'option -r est également obligatoire.

rm -r dossier_copie/                 # Supprime le dossier et son contenu

⚠️ Attention : rm supprime définitivement sans passer par la corbeille !

Afficher le contenu des fichiers avec cat, less et more

Trois commandes permettent d'afficher le contenu d'un fichier dans le terminal : cat, less et more.

cat fichier.txt      # Affiche tout le contenu
less fichier.txt     # Affichage paginé (navigation page par page)
more fichier.txt     # Affichage paginé (version basique)

La commande cat affiche tout d'un coup, tandis que less et more paginent le contenu pour les fichiers volumineux.

Navigation dans less :

  • Espace : page suivante
  • b : page précédente
  • q : quitter
Rechercher avec grep

La commande grep recherche du texte dans des fichiers sans les ouvrir. Elle affiche uniquement les lignes contenant le motif recherché.

grep "motif" fichier.txt          # Recherche dans un fichier
grep -r "TODO" projet/            # Recherche récursive dans un dossier

    Astuces pratiques pour le terminal

    • Flèches ↑ et ↓ : Naviguez dans l'historique de vos commandes pour les réexécuter sans les retaper.
    • Tab : Active l'autocomplétion pour compléter automatiquement une commande ou un chemin. Si plusieurs options sont disponibles, appuyez une seconde fois pour afficher la liste des suggestions.
    • Ctrl + R : Lance une recherche dans l'historique des commandes. Tapez Ctrl+R, puis saisissez une partie de la commande recherchée. Validez avec Entrée pour l'exécuter.
    • Ctrl + A : Positionne le curseur au début de la ligne.
    • Ctrl + E : Positionne le curseur à la fin de la ligne.

Récapitulatif des commandes

Navigation
pwd             # Affiche le répertoire courant  
ls -la          # Liste le contenu du répertoire  
cd chemin       # Change de répertoire  
cd ..           # Remonte d'un niveau
Manipulation de fichiers
mkdir dossier   # Crée un dossier  
touch fichier   # Crée un fichier vide  
cp source dest  # Copie un fichier  
mv source dest  # Déplace ou renomme un fichier
rm fichier      # Supprime un fichier  
rm -r dossier   # Supprime un dossier et son contenu
Affichage de contenu
cat fichier           # Affiche le contenu  
head fichier          # Affiche les premières lignes  
tail fichier          # Affiche les dernières lignes  
grep motif fichier    # Recherche un motif
Redirections

Les redirections sont des opérateurs qui modifient la destination de la sortie d'une commande. Au lieu d'afficher le résultat dans le terminal, vous pouvez l'enregistrer dans un fichier. Par exemple, ls affiche normalement les fichiers à l'écran, mais ls > liste.txt enregistre cette liste dans le fichier liste.txt

Il existe deux redirections principales :

  • > : envoie la sortie vers un fichier en écrasant son contenu s'il existe
  • >> : ajoute la sortie à la fin d'un fichier sans effacer le contenu existant
commande > fichier    # Redirige (écrase)  
commande >> fichier   # Ajoute en fin

Recommandations d’usage

  • Attention avec rm : la suppression est définitive !
  • Limiter l’usage de sudo : réservez les privilèges admin.
  • Consulter la documentation : utilisez --help ou man.
  • Vérifier avant d’exécuter : analysez toute commande en ligne.
  • Nommer sans espaces : utilisez tirets (-) ou traits bas (_).
Navigation : chemins complets et relatifs

Chemin complet : commence par / (racine système).
Exemple : /home/utilisateur/documents/rapport.txt

Chemin relatif : depuis votre dossier courant.
Exemple : documents/rapport.txt (depuis /home/utilisateur).

Raccourcis de navigation
  • . : répertoire actuel
  • .. : répertoire parent
  • ~ : répertoire personnel
  • / : racine du système