Aller au contenu

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é, cd vous 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
ou
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 cd avec ls pour 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

  • cd permet de changer de répertoire
  • cd sans argument => retour au $HOME
  • cd .. => remonter d’un niveau
  • cd - => revenir au dossier précédent
  • Utilisez pwd pour confirmer votre position

Prochaine étape : approfondir la navigation avec tree ou découvrir la gestion des fichiers avec cp et mv.