Linux / Commandes / cd / Commande pour se déplacer vers un autre répertoire

Sous Linux, la commande cd change le répertoire de travail du shell actuel. Par exemple, exécutez cd /etc, puis pwd pour vérifier votre emplacement actuel.

Vérifier l'emplacement actuel et se déplacer

cd est l’abréviation de l’anglais change directory (changer de répertoire) et est une commande intégrée dans des shells comme Bash. Vous spécifiez le répertoire vers lequel vous voulez vous déplacer comme argument. La commande suivante se déplace vers /etc et affiche cet emplacement.

cd /etc
pwd

Si le déplacement réussit, la commande cd elle-même ne produit généralement rien. Assurez-vous que pwd affiche /etc. Se déplacer n'implique pas de déplacer des fichiers ou de changer leur contenu, mais modifie plutôt l'emplacement de référence du shell actuel. Le répertoire de travail des autres terminaux ne change pas.

Chemins absolus et chemins relatifs

Les chemins absolus commencent à partir du répertoire racine /. Par exemple, la commande suivante spécifie /var/log indépendamment de votre emplacement actuel. Le répertoire doit exister et être accessible.

cd /var/log
pwd

Les chemins relatifs sont basés sur l'emplacement actuel. Par exemple, pour se déplacer vers /var puis dans log à l'intérieur, exécutez comme suit.

cd /var
cd ./log
pwd

Si cela réussit, /var/log sera affiché. . fait référence au répertoire actuel, donc ./log est log par rapport à l'emplacement actuel. Si CDPATH est défini dans Bash, cd log peut utiliser des chemins de recherche alternatifs, mais cd ./log fait explicitement référence au répertoire actuel. Si le déplacement échoue, résolvez l'erreur avant d'exécuter la commande suivante.

Se déplacer vers le répertoire parent et l'emplacement précédent

.. fait référence au répertoire parent. Si l'emplacement actuel est /var/log, la commande suivante se déplace vers /var.

cd ..
pwd

Pour revenir au répertoire visité précédemment, utilisez la commande suivante.

cd -

cd - dans Bash se déplace vers le répertoire de travail précédent et affiche son chemin. Cela peut échouer si l'emplacement précédent n'a pas été défini ou est inaccessible. Dans l'exemple ci-dessus, si vous êtes passé de /var/log à /var juste avant, il reviendra à /var/log.

Se déplacer vers le répertoire personnel

Si vous exécutez cd sans chemin, Bash se déplace vers le répertoire personnel défini dans la variable HOME. ~ est également généralement développé vers le répertoire personnel de l'utilisateur actuel.

cd
pwd

L'emplacement du répertoire personnel diffère en fonction du compte et des paramètres, donc ne supposez pas toujours qu'il s'agit de /home/user. cd ~/Documents se déplace sous le répertoire personnel vers Documents, et si ce répertoire n'existe pas, cela échouera. cd ~user dans Bash est un moyen de remplacer user par le nom réel du compte pour indiquer le chemin du répertoire personnel de ce compte. Il ne permet pas de se connecter en tant qu'un autre utilisateur ni de donner des permissions, et vous devez avoir les droits d'accès sur la cible.

Chemins avec espaces et liens symboliques

Si un nom de répertoire contient des espaces, mettez le chemin entre guillemets. L'exemple ci-dessous l'utilise lorsque my folder se trouve dans le répertoire courant.

cd "my folder"

Lors de l'utilisation du chemin home, vous pouvez placer ~ en dehors des guillemets et entourer le reste. Voici un exemple lorsque my folder se trouve sous le répertoire home.

cd ~/"my folder"

Si vous vous êtes déplacé via un lien symbolique, le chemin affiché et le chemin réel du répertoire peuvent différer. pwd -P de Bash montre le chemin physique. cd -P se déplace en fonction du chemin physique interprété à partir du lien, et le résultat traité par .. peut différer du comportement par défaut. Pour plus de détails, consultez Manuel Bash : cd et pwd.

Vérifiez lorsque le déplacement n'est pas possible

  • Chemin introuvable : Vérifiez l'orthographe et la sensibilité à la casse, ainsi que votre emplacement actuel, et utilisez ls pour voir si le nom existe. Le fichier n'est pas un répertoire, vous ne pouvez donc pas y entrer avec cd.
  • Permission refusée : Assurez-vous d'avoir l'autorisation de recherche pour accéder à la cible et à ses répertoires parents. Au lieu de modifier arbitrairement les permissions, demandez l'accès nécessaire à l'administrateur.
  • Emplacement inattendu : Comparez pwd et pwd -P, et vérifiez les liens symboliques ou les paramètres CDPATH.

Vous pouvez consulter l'aide pour les commandes intégrées dans Bash avec help cd. Dans les scripts, vous devez vérifier le statut de sortie afin que le script n’exécute pas les opérations suivantes dans le mauvais répertoire si cd échoue.