Utiliser le terminal

Une fois l'utilisation du terminal comprise (cela ne prend pas beaucoup de temps), cela vous fera gagner un temps fou.

Ouvrez un terminal et tapez les différentes commandes pour se les mettre dans les doigts.

Le corrigé des exercices montrent les résultat sur :

  • un terminal d'une machine Linux où mon login est fbrucker
  • un powershell d'une machine Windows 11 où mon login est fbrucker

Prompt

Lorsque l'on ouvre un terminal, on se retrouve devant un prompt.

À retenir

Dans tous les exemples d'utilisation du terminal, on fera commencer la commande par le prompt :

  • $ si le terminal utilisé est un shell unix (linux/wsl/macos)
  • > si le terminal est un powershell windows
  • $> si le terminal utilisé peut être indifféremment un powershell ou un unix

Ce prompt sera différent selon le terminal utilisé, mais il aura toujours la même fonction : on tape une ligne de commande à la suite du prompt et on appuie sur entrée pour l'exécuter. Par exemple :

$> ls

Qui est uniquement composée de la commande ls et qui liste les fichiers du dossier courant, ou encore :

$> cd /

Qui est une ligne composée :

Les instructions sous différentes entre les systèmes Unix (Linux et Mac) qu'on appelle shell et le système Windows appelé powershell, mais il existe presque toujours un equivalent entre les instruction unix/mac et powershell. Nous ne verrons que les commandes de bases du terminal utilisable sur les deux plateformes mais il en existe de nombreuses autres, n'hésitez pas à expérimenter (on ira bien plus loin dans la partie Linux de ce cours) :

Dossier courant

De plus un terminal est toujours positionné dans un dossier précis de votre arborescence de fichiers. C'est le dossier courant.

À retenir

Un terminal est toujours positionné dans un dossier, appelé dossier courant.

L'exécution d'une ligne de commande se fera toujours par rapport à cet endroit.

Commande

Pour connaître le dossier courant d'un terminal, on utilise la commande pwd.

Manuel

Lorsque l'on ouvre un terminal, son dossier courant est souvent le dossier principal de l'utilisateur. Mais on a aussi vu que l'on pouvait aussi directement ouvrir un terminal dans un dossier spécifique.

Tapez la commande suivante dans un terminal nouvellement ouvert :

$> pwd

exemples

 $ pwd
/home/fbrucker
> pwd

Path
----
C:\Users\fbrucker

Utilisateur courant

Enfin, un terminal dépend toujours d'un utilisateur. Par défaut c'est celui qui a ouvert la session, mais il est possible (et on le fera intensivement plus tard) de changer d'utilisateur voir de se connecter sur des ordinateurs distant via le terminal. Il est alors crucial de connaître le login de l'utilisateur exécutant ce terminal.

Commande

Pour connaître l'utilisateur du terminal, on utilise la commande whoami.

Tapez la commande suivante dans un terminal :

$> whoami

exemples

 $ whoami
fbrucker
> whoami
franoisbruca7be\fbrucker

Ligne de commande

Une ligne de commande sera toujours composée de mots séparé par des espaces :

Définition

Une ligne de commande est une chaîne de caractères composées de mots séparés par un ou plusieurs espaces tes que :

  • le premier mot est la commande et sera :
    • soit un fichier exécutable
    • soit une instructions compréhensible par le terminal, comme ls par exemple.
  • les mots suivants sont optionnels et sont les paramètres de la commande.

Commande

Le premier élément d'une ligne de commande est un fichier qui doit être exécuté. Par exemple :

$> python mon_script.py

Comme le mot python n'est pas une instruction c'est forcément un fichier exécutable. Le système d'exploitation cherche alors un fichier s'appelant python (ou python.exe si on est sous windows) dans un ensemble de dossiers qu'on appelle le path :

Souvent . (le répertoire courant) n'est pas dans le path. Il faut donc taper ./truc si on veut exécuter le fichier s'appelant truc dans le dossier courant.

Paramètres

Tout Ce qui suit l'instruction ou le fichier exécutable dans une ligne de commande sont les paramètres.

$> python mon_script.py

Dans la ligne de commande précédente on a :

Les paramètres peuvent être très simple (comme ci-dessous) comme très compliqué. Par exemple : pandoc --mathjax --standalone --metadata pagetitle="titre page" --metadata charset="UTF-8" page.md -o page.html (tiré du tutorial pandoc)

Pour savoir quelles sont les paramètres possible, il faut regarder la documentation du fichier exécutable. Dans notre exemple documentation de la commande python nous indique que le paramètre mon_script.py correspond à un chemin relatif au dossier courant vers un fichier python à interpréter.

À retenir

Pour que notre commande python mon_script.py soit exécutée sans erreur il faut donc :

  1. qu'un fichier exécutable nommé python (ou python.exe sous windows) soit présent dans un des dossiers du path
  2. qu'il existe un fichier nommé mon_script.py dans le dossier courant du terminal

Quelle commande ?

La commande exécutée d'une ligne de commande est un fichier présent dans une liste de dossiers prédéfini (le path). S'il existe plusieurs possibilités, c'est la 1ère rencontrée qui est utilisée. Il existe une commande pour déterminer le chemin absolu de la commande utilisée :

Commande

Ainsi which python sous unix/mac et get-command python sous powershell vont donner le chemin absolu vers le python utilisé.

Tapez la commande suivante dans un terminal (pour un système ayant python d'installé) :

  • sous linux/macos : $ which python
  • sous windows : > get-command python

exemples

 $ which python
/usr/bin/python
> get-command python

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     python.exe                                         0.0.0.0    C:\Users\fbrucker\AppData\Local\Micros...

Opérations sur les dossiers/fichiers

Opérations sur le dossier courant

On a déjà vu comment connaître l'utilisateur et le dossier courant et d'un terminal.

Liste

Commande

La commande $> ls donne le contenu du dossier courant.

Manuel

Tapez la commande suivante dans un terminal nouvellement ouvert :

$> ls

exemples

$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

> ls


    Répertoire : C:\Users\fbrucker


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-r---        03/12/2025     07:14                Contacts
d-r---        03/12/2025     10:38                Desktop
d-r---        03/12/2025     07:14                Documents
d-r---        01/04/2024     10:45                Downloads
d-r---        03/12/2025     07:14                Favorites
d-r---        03/12/2025     07:14                Links
d-r---        01/04/2024     10:45                Music
d-r---        01/04/2024     10:45                Pictures
d-r---        03/12/2025     07:14                Saved Games
d-r---        03/12/2025     09:18                Searches
d-r---        01/04/2024     10:45                Videos

La commande ls est en fait plus générale car on peut l'utiliser avec un paramètre qui est un chemin absolu ou relatif où lister les fichiers/dossiers :

Tapez la commande suivante dans un terminal :

$> ls /

exemples

$ ls /
bin   cdrom  etc   lib         media  opt   root  sbin  srv       sys  usr
boot  dev    home  lost+found  mnt    proc  run   snap  swapfile  tmp  var

r> ls /


    Répertoire : C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        07/06/2025     17:41                inetpub
d-r---        23/12/2025     08:16                Mac
d-----        01/04/2024     10:45                PerfLogs
d-r---        03/12/2025     07:20                Program Files
d-r---        03/12/2025     07:19                Program Files (x86)
d-r---        03/12/2025     09:18                Users
d-----        23/12/2025     08:45                Windows

La commande ls admet beaucoup de paramètres. Dans le monde du terminal, une commande va faire une unique chose mais de plein de façons possibles. C'est souvent ce qui fait peur, mais au final on utilisera jamais toutes les possibilités. Par exemple la documentation de la commande ls nous permet :

Changer le dossier courant

Pour changer de dossier courant, on utiliser la commande cd suivi d'un chemin absolu ou relatif vers un autre dossier.

Par exemple, sur mon mac, je crée un nouveau terminal. Par défaut, son dossier courant est la maison. La commande pwd me rend en effet : /Users/fbrucker.

Si je veux aller dans le dossier contenant ma plus belle photo d'Ada Lovelace, je peux taper :

Notez que je ne peux pas aller dans un fichier.

Si j'avais tapé /Users/fbrucker/Desktop/ada_lovelace.png j'aurais eu une erreur. Sur mon mac, ça dit : cd: not a directory: /Users/fbrucker/Desktop/ada_lovelace.png

Commande

La commande $> cd permet de changer le dossier courant du terminal.

Manuel

Tapez les commandes suivantes dans un terminal nouvellement ouvert :

$> cd /
$> pwd
$> cd ~
$> pwd

exemples

$ cd /
$ pwd
/
$ cd ~
$ pwd
/home/fbrucker
> cd /
> pwd

Path
----
C:\


> cd ~
> pwd

Path
----
C:\Users\fbrucker

Sous unix, taper la commande cd sans argument permet de revenir à la maison.

Création et suppression de fichiers/dossiers

Créer un dossier

Commande

La commande $> mkdir <chemin absolu ou relatif vers le dossier à créer> permet de créer un dossier.

Manuel

Par exemple : mkdir truc/chose crée le dossier chose dans le dossier truc lui même placé dans le dossier courant (si le dossier "./truc" n'existe pas, il y a une erreur).

Copier des fichiers/dossiers

Commande

La commande cp permet de copier un dossier ou un fichier :

$> cp <chemin absolu ou relatif du dossier ou fichier à copier> <chemin absolu ou relatif vers le fichier/dossier copié>

Manuel

Par exemple : cp truc/machin chose copie le fichier machin dans le dossier relatif truc/ vers le fichier chose du dossier courant.

Notez qu'on ne peut par copier de dossier par défaut sous unix :

En regardant la documentation, trouver comment faire pour copier un dossier ainsi que ses sous dossiers sous unix et windows.

corrigé

  • sous unix on utilise le paramètre -R
  • sous unix on utilise le paramètre -recurse

Déplacer/renommer des fichiers/dossiers

Commande

La commande mv permet de déplacer un fichier :

$> mv <chemin absolu ou relatif du le fichier à déplacer> <chemin absolu ou relatif vers le fichier/dossier déplacé>

Manuel

Par exemple : mv truc/machin chose déplace le fichier machin dans le dossier relatif truc/ vers le fichier chose du dossier courant.

Supprimer un fichier/dossier

Commande

La commande rm permet de supprimer un fichier ou un dossier :

$> rm <chemin absolu ou relatif vers le fichier à supprimer>
$ rm -r <chemin absolu ou relatif vers le dossier à supprimer>
> rm -Recurse <chemin absolu ou relatif vers le dossier à supprimer>

Manuel

On vérifie qu'on a compris

Faite le jeu ci-après (c'est un genre de MUD solitaire), fait pour comprendre et utiliser le terminal unix :

Les commandes que vous verrez sont toutes utilisables avec les terminaux Linux et Macos et la plupart fonctionnent également sous powershell (ou possèdent des équivalent, comme la commande cat qui est la commande Get-Content par exemple)

Path

Le path regroupe un ensemble de dossiers où le système ira regarder pour savoir quelle commande exécuter.

Connaître le path

Dans un terminal, tapez :

Windows 11

> $env:Path

Systèmes Unix

$ echo $PATH

Cela affichera les différents dossiers du path séparé par des :

Modification du path

Dan un terminal, on peut modifier la variable contenant le path pour ajouter un dossier.

Par exemple, pour ajouter le dossier /users/franc/bin au début du path :

Système Unix

On suppose que le shell est celui par défaut (bash sous Linux/Ubuntu et zsh sous Macos) :

$ export PATH="/users/franc/bin:$PATH"

Système Windows 11

> $env:Path = "C:\users\franc\bin;" + $env:Path

Ces modifications ne sont pas permanentes, elles ne sont valable que dans la fenêtre du terminal. Ouvrez une nouvelle fenêtre terminal et votre modification ne sera pas effectuée.

Modification permanente du path

On a parfois besoin de modifier de façon permanente le path. Les méthodes utilisées pour cela sont différentes sous unix/mac et windows.

Pour ceci, Il faut faire la modification précédente à chaque fois que l'on ouvre un terminal. Pour éviter de devoir taper la commande à chaque fois, on va l'ajouter au fichier de configuration du terminal.s

Ce ne sont pas des modifications courantes, on peut très bien essayer de s'en passer si la modification de fichiers de configuration fait un peu peur.

sous Windows 11

Depuis le menu démarrer, allez dans les paramètres puis dans informations système. Il faut ensuite cliquer sur Paramètres avancés du système :

paramètres avancés du système

Pour arriver à cette fenêtre :

path 1

En cliquant sur variables d'environnement vous pourrez modifier la variable PATH :

path 2

sous Macos

Par défaut le shell utilisé est zsh. Son fichier de configuration lu au login est un fichier nommé .zprofile qui est dans votre dossier personnel (la maison). Vous pouvez éditer ce fichier et ajouter la ligne de modification à la fin de celui-ci.

On peut aussi le faire directement avec la commande :

$ echo 'export PATH="/users/franc/bin:$PATH"' >> $HOME/.zprofile

Qui ajoute la ligne export PATH="/users/franc/bin:$PATH" à la fin du fichier .zprofile de la maison.

sous Linux/Ubuntu

Par défaut le shell utilisé est bash. Son fichier de configuration lu au login est un fichier nommé `.bash_profile{.fichier} qui est dans votre dossier personnel (la maison). Vous pouvez éditer ce fichier et ajouter la ligne de modification à la fin de celui-ci.

On peut aussi le faire directement avec la commande :

$ echo 'export PATH="/users/franc/bin:$PATH"' >> $HOME/.profile

Qui ajoute la ligne $ export PATH="/users/franc/bin:$PATH" à la fin du fichier .profile de la maison.

Pour aller plus loin