Leçon 2 sur 18 · Utilisateur
Se déplacer : pwd, ls, cd et les chemins
Objectif
Savoir à tout moment où vous êtes dans les dossiers de la machine, ce qu'il y a autour de vous, et comment aller ailleurs, avec des chemins absolus ou relatifs.
L'essentiel
- Linux range tout dans un seul arbre qui part de la racine
/. Il n'y a pas deC:ou deD:. pwdaffiche le dossier courant,lsliste son contenu,cdchange de dossier.- Un chemin absolu commence par
/et marche de partout :/srv/ecole/notes. - Un chemin relatif part du dossier courant :
notes,../notes. .= le dossier courant,..= le dossier parent,~= votre dossier personnel.
1. Un seul arbre, une seule racine
Sous Windows, chaque disque a sa lettre. Sous Linux, tout part d'un dossier unique appelé la racine, noté /. Les disques, les clés USB et les partages réseau viennent se « greffer » quelque part dans cet arbre.
/
├── etc/ configuration
├── home/ dossiers des utilisateurs
│ ├── karim/
│ └── salma/
├── root/ dossier personnel de root
└── srv/ données servies par la machine
└── ecole/
├── classes/
│ ├── 6A/
│ └── 6B/
└── notes/
Remarquez que sous Linux, le séparateur est la barre /, pas la barre inversée \ de Windows.
2. pwd : où suis-je ?
pwd (print working directory) affiche le chemin complet du dossier où vous vous trouvez.
pwd # → /home/karim (juste après la connexion, vous êtes chez vous)
Quand vous vous connectez, vous arrivez dans votre dossier personnel : /home/karim pour Karim, /root pour root.
3. ls : qu'y a-t-il ici ?
ls # le contenu du dossier courant
ls /etc # le contenu d'un autre dossier, sans y aller
ls -l # format long : droits, propriétaire, taille, date
ls -a # TOUT, y compris les fichiers cachés (qui commencent par un point)
ls -A # comme -a, mais sans les entrées . et ..
ls -lh # tailles lisibles : 4,0K, 12M, 1,5G
ls -lt # trié par date, le plus récent en premier
ls -ltr # trié par date, le plus récent en DERNIER (pratique pour les journaux)
ls -R # récursif : le dossier et tous ses sous-dossiers
ls -ld /srv # les informations du dossier lui-même, pas de son contenu
Lisons une ligne de ls -l :
drwxr-xr-x 4 root root 4096 Oct 18 10:12 classes
-rw-r--r-- 1 root root 812 Oct 18 10:15 eleves.csv
│└───┬───┘ │ └┬─┘ └┬─┘ └┬─┘ └─────┬────┘ └─ nom
│ │ │ │ │ │ └────── date de dernière modification
│ │ │ │ │ └─────────────── taille en octets
│ │ │ │ └──────────────────── groupe propriétaire
│ │ │ └───────────────────────── utilisateur propriétaire
│ │ └──────────────────────────── nombre de liens
│ └────────────────────────────────── droits (leçon dédiée plus tard)
└─────────────────────────────────────── type : d = dossier, - = fichier, l = lien
Les fichiers cachés. Tout nom qui commence par un point (.bashrc, .ssh) est caché : ls seul ne le montre pas. Ce n'est pas une protection, juste une façon de ne pas encombrer l'affichage avec des fichiers de réglages.
Sur la plupart des distributions, ls est un alias de ls --color=auto : les dossiers apparaissent en bleu, les programmes en vert.
4. cd : changer de dossier
cd /srv/ecole # aller dans /srv/ecole (chemin absolu)
cd classes # descendre dans le sous-dossier classes (chemin relatif)
cd .. # remonter d'un niveau → /srv/ecole
cd ../.. # remonter de deux niveaux → /
cd # sans argument : retour au dossier personnel
cd ~ # pareil
cd - # revenir au dossier précédent (très pratique pour alterner)
cd ne dit rien quand tout va bien. En cas d'erreur, il répond par exemple No such file or directory (le dossier n'existe pas) ou Not a directory (vous avez donné un fichier).
5. Chemins absolus et chemins relatifs
C'est la notion importante de la leçon.
Prenons une école : le directeur est dans le bureau /srv/ecole/classes/6A et veut atteindre le dossier des notes.
| Type | Exemple | Part de… | Marche… |
|---|---|---|---|
| Absolu | /srv/ecole/notes |
la racine / |
de n'importe où |
| Relatif | ../../notes |
le dossier courant | seulement depuis ce dossier |
Comment lire ../../notes depuis /srv/ecole/classes/6A :
/srv/ecole/classes/6A
.. → /srv/ecole/classes
../.. → /srv/ecole
../../notes → /srv/ecole/notes
Les raccourcis à connaître :
| Symbole | Signification |
|---|---|
/ au début |
la racine |
. |
le dossier courant (./script.sh = « le script qui est ici ») |
.. |
le dossier parent |
~ |
votre dossier personnel (/home/karim) |
~salma |
le dossier personnel de Salma (/home/salma) |
Quand utiliser lequel ? Dans un script ou une tâche planifiée, utilisez toujours des chemins absolus : le script ne sait pas dans quel dossier il sera lancé. Au clavier, les chemins relatifs font gagner du temps.
6. La touche Tab, votre meilleure amie
Tapez cd /sr puis Tab : bash complète en cd /srv/. Tapez cd /srv/ecole/c puis Tab : classes/. S'il y a plusieurs possibilités, un double Tab les affiche. Vous évitez ainsi les fautes de frappe… et vous vérifiez au passage que le chemin existe.
7. Exemple complet
Mme Benali, secrétaire de l'école, explore le serveur :
pwd # /root
cd /srv/ecole # elle va dans le dossier de l'école
ls # classes notes
ls -a # . .. .secret classes notes ← un fichier caché !
cd classes/6A # chemin relatif
pwd # /srv/ecole/classes/6A
ls ../../notes # trimestre1.txt ← elle regarde ailleurs sans bouger
cd - # retour à /srv/ecole
cd # retour à son dossier personnel
Pièges fréquents
- Oublier le
/du début :cd srv/ecolecherche un dossiersrvdans le dossier courant, pas à la racine. - Coller
cdet..:cd..ne marche pas sous bash, il faut une espace :cd ... - Croire qu'un dossier est vide parce que
lsn'affiche rien : il peut contenir des fichiers cachés, vérifiez avecls -a. - Les espaces dans les noms :
cd Mes documentséchoue ; écrivezcd "Mes documents"oucd Mes\ documents.
Lab
Sur ce lab Debian 12, un petit arbre d'école a été préparé dans /srv/ecole. Vous allez :
- vous rendre dans le dossier de la classe 6B et enregistrer son chemin absolu ;
- découvrir le fichier caché de
/srv/ecole; - afficher les informations détaillées du dossier lui-même ;
- trouver le chemin relatif qui mène de la 6A au dossier des notes.
Astuce : testez chaque cd avant d'écrire votre réponse, et utilisez pwd pour vérifier où vous êtes arrivé.
Quiz
- Que fait
cdtapé seul, sans argument ? - Vous êtes dans
/var/log/nginx. Où vous mènecd ../..? /home/karim/facturesest-il un chemin absolu ou relatif ? Etfactures/2026?- Quelle option de
lsaffiche les fichiers cachés ? - Pourquoi faut-il préférer les chemins absolus dans un script ?
Réponses
- Il ramène dans votre dossier personnel (
~). - Dans
/var. - Le premier est absolu (il commence par
/) ; le second est relatif. -a(ou-A, qui n'affiche pas.et..).- Parce qu'on ne sait pas depuis quel dossier le script sera lancé : un chemin relatif pourrait pointer au mauvais endroit.
Sources de référence : Debian Reference et Cahier de l'admin Debian (licences libres), Ubuntu Server Guide (CC BY-SA 3.0). Texte original MasterLinux.