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épertoirehome;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 :
- revenez dans votre répertoire personnel ;
- affichez son chemin complet ;
- affichez son contenu ;
- entrez dans un sous-répertoire ;
- remontez d’un niveau ;
- allez à la racine
/; - 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
- GNU Bash Reference Manual — GNU Project
- GNU Coreutils manual — GNU Project
- Filesystem Hierarchy Standard — Linux Foundation
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.
