Commande cd sous Linux : naviguer dans les répertoires
Description
La commande cd (change directory) permet de se déplacer dans l'arborescence des répertoires sous Linux et Unix. Elle s'utilise dans le terminal Linux pour naviguer entre les dossiers du système. C’est généralement la deuxième commande apprise après ls, car elle est indispensable pour naviguer dans le système de fichiers.
Syntaxe
La syntaxe de base de la commande cd est :
cd [RÉPERTOIRE]
- Si aucun répertoire n’est précisé,
cdvous ramène dans votre répertoire personnel ($HOME).
Commande interne au shell
Contrairement à ls ou cp qui sont des programmes externes, cd est une commande interne au shell (Bash, Zsh, etc.).
C'est pourquoi elle n'accepte pas d'options complexes : son rôle est simplement de changer le répertoire courant.
Son comportement peut d'ailleurs légèrement varier selon le shell utilisé.
Chemin absolu vs chemin relatif
Lorsque vous utilisez cd, vous pouvez spécifier un chemin de deux manières.
Chemin absolu
Un chemin absolu commence toujours par / (racine du système).
Il décrit l'emplacement complet depuis la racine, indépendamment de votre position actuelle.
cd /home/utilisateur/documents
cd /var/log/nginx
cd /etc/ssh
Chemin relatif
Un chemin relatif ne commence pas par /. Il est interprété à partir de votre position actuelle.
# Si vous êtes dans /home/utilisateur
cd documents # = /home/utilisateur/documents
cd ../images # = /home/images
cd projets/backend # = /home/utilisateur/projets/backend
Règle simple
- Absolu => quand vous voulez être sûr d'arriver au bon endroit, quel que soit l'endroit où vous êtes
- Relatif => quand vous naviguez dans votre arborescence courante (plus court à taper)
Raccourcis essentiels
| Commande | Description |
|---|---|
cd ou cd ~ |
Retourne au répertoire personnel |
cd .. |
Remonte d’un niveau (répertoire parent) |
cd - |
Revient au répertoire précédent |
cd . |
Reste dans le répertoire courant (peu utile seul) |
Tip
Le raccourci cd - est très pratique pour basculer rapidement entre deux répertoires sans retaper leurs chemins.
Exemples détaillés
Revenir au répertoire personnel
cd
cd ~
Retour direct vers /home/utilisateur (ou /root pour l'utilisateur root).
Remonter d’un niveau
cd ..
Remonte dans le répertoire parent.
Basculer entre deux répertoires
# Aller dans /var/log
cd /var/log
# Aller dans /etc
cd /etc
# Revenir à /var/log
cd -
# Retourner à /etc
cd -
Aller dans un sous-répertoire (chemin relatif)
cd documents
Vous entrez dans le dossier documents situé dans le répertoire courant.
Aller dans un chemin absolu
cd /var/log
Le chemin commence par /, il est absolu et indépendant de votre position actuelle.
Astuce : savoir où l’on est
Après un cd, utilisez la commande pwd (print working directory) pour afficher votre position actuelle :
pwd
Tip
Associez cd et ls pour explorer efficacement : cd pour vous déplacer, ls pour voir le contenu.
Erreurs fréquentes
Répertoire inexistant
cd dossier-inconnu
bash: cd: dossier-inconnu: No such file or directory
Solution : Vérifiez le nom du répertoire avec ls et utilisez la complétion TAB.
Accès refusé
cd /root
bash: cd: /root: Permission denied
Solution : Le répertoire existe, mais vous n’avez pas les droits nécessaires. Utilisez sudo uniquement si nécessaire, ou vérifiez vos permissions.
Trop d'arguments
cd /var /etc
bash: cd: too many arguments
Solution : cd n’accepte qu’un seul argument. Utilisez des commandes séparées ou des scripts pour des déplacements complexes.
Bonnes pratiques
- Utilisez la complétion avec la touche TAB pour éviter les erreurs de frappe
- Combinez
cdaveclspour explorer efficacement - Préférez les chemins absolus dans les scripts pour éviter toute ambiguïté
- Mémorisez les raccourcis cd, cd .. et cd - pour gagner en rapidité
Warning
Dans les scripts shell, pensez à vérifier que le répertoire existe avant d'utiliser cd :
if [ -d "/chemin/vers/dossier" ]; then
cd /chemin/vers/dossier
else
echo "Le dossier n'existe pas"
fi
Commandes liées
- pwd - Afficher le répertoire courant
- ls - Lister le contenu d’un répertoire
- tree - Afficher l’arborescence
- pushd / popd - Pile de répertoires
À retenir
cdpermet de changer de répertoirecdsans argument => retour au$HOMEcd ..=> remonter d’un niveaucd -=> revenir au dossier précédent- Utilisez
pwdpour confirmer votre position
Prochaine étape : approfondir la navigation avec tree ou découvrir la gestion des fichiers avec cp et mv.