Kodokon kodokon.com

Chemins relatifs, absolus et jokers

Désignez n'importe quel fichier avec un chemin absolu ou relatif, et agissez sur plusieurs fichiers à la fois.

8 min · 3 questions

Ouvrir cette leçon dans Kodokon

Il existe deux façons d'indiquer où se trouve un fichier, exactement comme pour donner une adresse. Le chemin absolu est l'adresse postale complète : il part de la racine et fonctionne depuis n'importe où. Sur macOS et Linux, il commence toujours par une barre oblique /, par exemple /home/yoann/mon-projet/index.html. Sur Windows, il commence par une lettre de lecteur, par exemple C:\Users\yoann\mon-projet.

Le chemin relatif, lui, est une indication du type « deuxième porte à gauche » : il part du dossier où vous êtes actuellement. Trois symboles suffisent à tout exprimer. Le point . désigne le dossier courant. Les deux points .. désignent le dossier parent. Le tilde ~ désigne votre dossier personnel. On les enchaîne avec des barres obliques pour composer un trajet.

BASH
cd /home/yoann/mon-projet
cd ~/mon-projet
cd ../autre-projet
cat ./src/index.html
cp ../photo.jpg .
Le même dossier atteint en absolu puis en relatif, et une copie vers le dossier courant.

Quand vous devez agir sur dix fichiers, vous n'allez pas taper dix commandes. Le shell reconnaît des jokers, aussi appelés *motifs* : des caractères spéciaux qui remplacent un ou plusieurs caractères inconnus. L'étoile * remplace n'importe quelle suite de caractères, y compris aucun. Le point d'interrogation ? remplace exactement un caractère. Les crochets [ ] acceptent l'un des caractères listés à l'intérieur.

BASH
ls *.html
ls src/*.css
ls photo-?.jpg
ls rapport-202[45].pdf
cp *.txt archives/
Tous les .html, les .css d'un sous-dossier, photo-1 à photo-9, les rapports 2024 et 2025.

Un dernier détail qui évite bien des erreurs : sur macOS et Linux, les noms de fichiers sont sensibles à la casse. Photo.jpg et photo.jpg sont deux fichiers différents, et ls photo* ne trouvera pas le premier. Windows, lui, ne fait pas la différence. Un projet qui fonctionne sur votre machine Windows peut donc échouer sur le serveur Linux qui l'héberge, uniquement à cause d'une majuscule.

Quiz de validation

Vérifiez que vous avez bien retenu les points clés de cette leçon.

  1. Sur macOS ou Linux, par quoi commence toujours un chemin absolu ?
    • Par un point .
    • Par une barre oblique /
    • Par un tilde ~
    • Par le nom du dossier courant
  2. À quoi correspond le motif *.html ?
    • À tous les fichiers dont le nom se termine par .html
    • Au seul fichier nommé exactement *.html
    • À tous les fichiers du dossier, quel que soit leur type
  3. Vous voulez supprimer tous les fichiers .tmp sans risque. Quelle précaution prendre ?
    • Lancer rm *.tmp puis vérifier avec ls
    • Lancer d'abord ls *.tmp pour voir ce qui sera supprimé
    • Aucune, le shell demande toujours confirmation