Linux sans magie #2 — Le terminal : comprendre enfin ce que l’on tape et où l’on se trouve

Comprendre le terminal Linux sans jargon inutile : shell, répertoire courant, chemins absolus et relatifs, pwd, ls, cd, ~, . et ...

Le terminal est probablement l’élément de Linux qui impressionne le plus au début.

Une fenêtre noire. Un curseur. Aucun bouton évident. Et cette impression qu’il faut connaître des dizaines de commandes par cœur avant même de commencer.

En réalité, le terminal devient beaucoup plus simple dès qu’on comprend trois choses :

  • qui nous sommes ;
  • où nous sommes ;
  • comment nous déplacer.

C’est exactement ce que nous allons faire dans cet article.

Pas de longue liste de commandes. Pas de théorie inutile.

Quelques commandes, beaucoup de pratique, et à la fin vous saurez réellement vous repérer dans un système Linux.

Objectif

À la fin de cet article, vous saurez :

  • reconnaître un terminal ;
  • comprendre ce qu’est un shell ;
  • savoir dans quel répertoire vous êtes ;
  • afficher ce qu’il contient ;
  • changer de répertoire ;
  • comprendre les chemins absolus et relatifs ;
  • utiliser ~, . et .. ;
  • revenir facilement à votre répertoire personnel.

Et surtout, vous ne taperez plus des commandes sans savoir où elles vont agir.

Le terminal et le shell : ce n’est pas la même chose

Commençons par une distinction simple.

Le terminal est l’interface dans laquelle vous tapez vos commandes.

Le shell est le programme qui lit ces commandes et les exécute.

On peut comparer cela à une messagerie :

  • le terminal est la fenêtre dans laquelle vous écrivez ;
  • le shell est celui qui lit votre message et agit en conséquence.

Selon votre système, le shell peut être par exemple :

  • Bash ;
  • Zsh ;
  • Fish.

Dans beaucoup d’environnements Linux, Bash reste très courant.

Pour savoir quel shell est associé à votre session, vous pouvez commencer par :

echo $SHELL

Vous pourriez obtenir quelque chose comme :

/bin/bash

ou :

/bin/zsh

Pour aujourd’hui, le nom du shell importe peu.

Ce qui nous intéresse, c’est de comprendre comment nous nous déplaçons dans Linux.

Lab — Où suis-je ?

Ouvrez un terminal.

Puis tapez :

pwd

Vous pourriez obtenir :

/home/alex

pwd signifie historiquement print working directory.

En clair :

affiche le répertoire dans lequel je me trouve actuellement.

C’est probablement l’une des commandes les plus utiles lorsque l’on débute.

Pourquoi ?

Parce que beaucoup de commandes Linux agissent par rapport à l’endroit où vous vous trouvez.

Si vous savez où vous êtes, vous comprenez déjà beaucoup mieux ce que vous êtes en train de faire.

Comprendre ce qui vient de se passer

Linux organise les fichiers dans une grande arborescence.

Imaginez un arbre à l’envers.

Tout commence à partir de :

/

Cette barre oblique représente la racine du système.

Sous cette racine, on trouve différents répertoires.

Par exemple :

/
├── etc
├── home
├── usr
├── var
└── tmp

Votre répertoire personnel se trouve souvent sous /home.

Exemple :

/home/alex

Cela signifie :

  • / : départ depuis la racine ;
  • home : répertoire home ;
  • alex : répertoire personnel de l’utilisateur.

Lab — Qu’est-ce qu’il y a ici ?

Tapez maintenant :

ls

Cette commande affiche le contenu du répertoire courant.

Vous pourriez voir :

Documents
Downloads
Pictures
Projects

À cet instant :

pwd

peut afficher :

/home/alex

et :

ls

affiche ce qu’il y a dans /home/alex.

Les deux commandes répondent donc à deux questions différentes :

pwd → Où suis-je ?
ls  → Qu’est-ce qu’il y a ici ?

C’est une excellente paire à retenir.

Afficher un peu plus d’informations

Essayez maintenant :

ls -l

Vous verrez davantage de détails.

Par exemple :

drwxr-xr-x 2 alex alex 4096 Sep 4  Documents
drwxr-xr-x 2 alex alex 4096 Sep 4  Downloads

Ne cherchez pas encore à comprendre toutes ces colonnes.

Nous reviendrons plus tard sur les permissions, les propriétaires et les groupes.

Retenez simplement que -l demande à ls un affichage plus détaillé.

Se déplacer avec cd

Maintenant que nous savons où nous sommes et ce qu’il y a autour de nous, déplaçons-nous.

Si votre commande ls affiche un répertoire Documents, tapez :

cd Documents

Puis vérifiez :

pwd

Vous devriez obtenir quelque chose comme :

/home/alex/Documents

Vous venez de changer de répertoire.

cd signifie :

change directory

Autrement dit :

va dans ce répertoire.

Vérification immédiate

Tapez :

ls

Le résultat n’est probablement plus le même qu’avant.

Pourquoi ?

Parce que ls affiche toujours le contenu du répertoire dans lequel vous êtes actuellement.

C’est une notion fondamentale.

Une commande peut être identique, mais son résultat changer simplement parce que vous vous êtes déplacé.

Le chemin relatif

Quand nous avons écrit :

cd Documents

nous avons utilisé un chemin relatif.

Nous avons simplement indiqué :

va dans Documents à partir de l’endroit où je me trouve actuellement.

Si vous êtes dans :

/home/alex

alors :

cd Documents

revient à aller vers :

/home/alex/Documents

Le chemin est donc interprété par rapport à votre position actuelle.

Le chemin absolu

Nous pouvons également écrire directement :

cd /home/alex/Documents

Cette fois, le chemin commence par :

/

Il s’agit donc d’un chemin absolu.

Cela signifie :

pars de la racine du système et suis exactement ce chemin.

Un chemin absolu indique toujours l’emplacement complet.

Exemple :

/etc
/var/log
/home/alex/Documents

Relatif ou absolu ?

Les deux sont utiles.

Chemin relatif :

cd Documents

Pratique quand la destination est proche.

Chemin absolu :

cd /home/alex/Documents

Pratique lorsque vous voulez indiquer précisément un emplacement, peu importe votre position actuelle.

Comprendre ..

Supposons que vous soyez ici :

/home/alex/Documents

Tapez :

cd ..

Puis :

pwd

Vous devriez revenir à :

/home/alex

.. signifie :

le répertoire parent

Autrement dit :

remonte d’un niveau.

Si vous refaites :

cd ..

vous arrivez probablement ici :

/home

Encore une fois :

cd ..

et vous arrivez :

/

Vous venez de remonter progressivement l’arborescence Linux.

Comprendre .

Un simple point :

.

désigne le répertoire courant.

Exemple :

ls .

signifie :

affiche le contenu du répertoire actuel.

Dans ce cas, cela revient pratiquement au même que :

ls

Le symbole . deviendra surtout utile plus tard dans certaines commandes et certains scripts.

Pour l’instant, retenez simplement :

.   = ici
..  = le répertoire parent

Le raccourci ~

Il existe un autre symbole très pratique :

~

Il représente généralement votre répertoire personnel.

Essayez :

cd /

Puis vérifiez :

pwd

Résultat :

/

Maintenant tapez :

cd ~

Puis :

pwd

Vous devriez revenir à quelque chose comme :

/home/alex

Très pratique.

Encore plus simple

En réalité, vous pouvez généralement simplement écrire :

cd

sans argument.

Cela vous ramène également dans votre répertoire personnel.

Donc :

cd

et :

cd ~

vous ramènent généralement au même endroit.

Une routine simple pour ne jamais être perdu

Quand vous débutez, utilisez ce trio aussi souvent que nécessaire :

pwd
ls
cd

La logique est simple.

1. Où suis-je ?

pwd

2. Qu’est-ce qu’il y a ici ?

ls

3. Où est-ce que je veux aller ?

cd repertoire

Puis recommencez.

pwd
ls

Il n’y a aucune honte à taper pwd très souvent.

Même des administrateurs expérimentés vérifient régulièrement leur position avant une opération importante.

Pourquoi connaître sa position est important

Imaginez cette commande :

rm fichier.txt

Nous n’allons pas l’utiliser aujourd’hui.

Mais elle sert à supprimer un fichier.

Avant de lancer une commande de ce type, il devient immédiatement intéressant de savoir :

pwd

et :

ls

Autrement dit :

suis-je vraiment dans le bon répertoire ?

Cette habitude simple évite énormément d’erreurs.

Avant une manipulation importante :

Où suis-je ?
Qu’est-ce qu’il y a ici ?
Est-ce vraiment ici que je veux agir ?

C’est déjà une très bonne discipline Linux.

Petit exercice guidé

Partez de votre répertoire personnel :

cd

Vérifiez :

pwd

Affichez le contenu :

ls

Entrez dans un répertoire existant, par exemple :

cd Documents

Vérifiez à nouveau :

pwd

Remontez :

cd ..

Puis vérifiez :

pwd

Enfin, allez à la racine :

cd /

et affichez son contenu :

ls

Vous devriez voir plusieurs répertoires système.

Par exemple :

bin
boot
dev
etc
home
proc
tmp
usr
var

La liste exacte peut varier selon votre distribution.

Comprendre ce que vous venez de faire

Sans le savoir, vous venez déjà d’utiliser plusieurs concepts essentiels de Linux :

  • arborescence ;
  • racine ;
  • répertoire courant ;
  • répertoire parent ;
  • répertoire personnel ;
  • chemin absolu ;
  • chemin relatif.

Et tout cela avec seulement quelques commandes :

pwd
ls
cd

C’est exactement l’esprit de Linux sans magie.

Nous ne mémorisons pas des commandes pour mémoriser des commandes.

Nous apprenons à répondre à des questions concrètes.

Petit défi

Sans regarder la solution immédiatement, essayez de faire ceci :

  1. revenez dans votre répertoire personnel ;
  2. affichez son chemin complet ;
  3. affichez son contenu ;
  4. entrez dans un sous-répertoire ;
  5. remontez d’un niveau ;
  6. allez à la racine / ;
  7. revenez dans votre répertoire personnel en une seule commande.

Les commandes nécessaires ont toutes été vues dans cet article.

Une solution possible

cd
pwd
ls
cd Documents
cd ..
cd /
cd ~

Le nom Documents peut évidemment être différent sur votre système.

Un dernier réflexe utile

Si vous ne savez plus où vous êtes :

pwd

Si vous ne savez plus ce qu’il y a autour de vous :

ls

Si vous voulez rentrer chez vous :

cd

Trois commandes.

Pas besoin d’en connaître cinquante pour commencer.

Références officielles

Vous pouvez également consulter directement le manuel installé sur votre système :

man pwd
man ls
man cd

Petite particularité : cd est généralement une commande intégrée au shell, donc selon l’environnement, la documentation peut aussi être accessible avec :

help cd

Conclusion

Le terminal paraît complexe surtout tant qu’on ne sait pas où l’on se trouve et comment Linux organise ses fichiers.

Maintenant, vous savez déjà vous repérer.

Vous pouvez :

voir votre position
observer ce qui vous entoure
vous déplacer
remonter
revenir chez vous

Et tout cela avec seulement trois commandes principales.

Dans le prochain article de Linux sans magie, nous allons continuer naturellement avec quelque chose que vous utilisez déjà sans vraiment y penser :

les fichiers et les répertoires : créer, copier, déplacer et supprimer sans faire de bêtise.