GNU/Linux >> Tutoriels Linux >  >> Linux

Utilisation de / lors de l'utilisation d'un cd

C'est le comportement standard d'Unix.

Le / au début du chemin représente la racine du disque (ou le niveau de départ/supérieur de l'arborescence du système de fichiers). Comme Documents n'est pas hors de la racine, /Documents introuvable.

/Users est en dehors du répertoire racine, donc ce problème ne se produit pas.

Vous pouvez utiliser cd /Users/lukas/Documents pour passer à ce chemin.

Alternativement, vous pouvez utiliser l'adressage relatif. Les systèmes de fichiers basés sur Unix ont 2 répertoires spéciaux :

  • . qui signifie "ce répertoire",
  • .. ce qui signifie le répertoire parent.

Si vous êtes en /Users/lukas , cd ./Documents vous emmènerait au bon endroit.

Supposons que vous étiez en /Users/Lukas/Documents et je voulais aller au /Users/Janes/Documents , vous pouvez émettre une commande cd ../../Janes/Documents - en utilisant .. vous ramènerait d'un niveau en arrière - vous le feriez donc deux fois, avant d'entrer dans le nouveau chemin relatif.


/Users/lukas est un chemin "absolu". Le premier / représente le répertoire racine de votre système de fichiers.

lukas est un chemin "relatif". Comme il n'est pas ancré à la racine, cela signifie "chercher ceci dans le courant répertoire". Sauf si le répertoire courant est /Users (ou un autre répertoire avec un lukas dedans), cela échouera.

Alors, explorons vos exemples, en supposant que vous êtes en /Users/lukas :

$ cd Documents/
/Users/lukas/Documents

Chemin relatif donné => passer au répertoire "Documents" qui se trouve à l'intérieur de /Users/lukas .

$ cd /Documents
-bash: cd: /Documents: No such file or directory

Chemin absolu donné => passer au répertoire /Documents .

$ pwd
/

Cela montre que vous avez maintenant remplacé le répertoire de travail par le répertoire racine, / (bien que le cd la commande pour ce faire n'a pas été affichée).

$ cd Users
/Users

Chemin relatif donné => passer au répertoire "Users" qui se trouve à l'intérieur de / .

$ cd /Users
/Users

Chemin absolu donné => passer au répertoire /Users .

La clé à chaque fois est celle qui précède / . Avec lui, le chemin est absolu. Sans elle, le chemin est relatif. Cette règle est sans ambiguïté car tous les chemins absolus commencent par / (car le répertoire racine s'appelle toujours / ).

Voici un pseudo-code décrivant vaguement cet algorithme :

MakePathAbsolute(path):
   if <path> starts with '/'
      return <path>
   else
      return <current directory>/<path>

L'argument que vous passez à cd passe par cet algorithme ; le répertoire vers lequel vous finissez par changer est le chemin renvoyé par l'algorithme.

Lectures complémentaires :

  • Tutoriel sur les fichiers et répertoires Unix
    Joseph L. Zachary
    "Introduction à la programmation scientifique"

Linux
  1. Compter le nombre de fichiers dans un répertoire en utilisant C

  2. Comment utiliser / (séparateur de répertoire) sous Linux et Windows en Python ?

  3. Ajouter un script bash au chemin

  4. Comment puis-je faire en sorte que bazel utilise un stockage externe lors de la construction?

  5. commande linux trouvée mais introuvable lors de l'utilisation de sudo

Comment utiliser Rsync

Quand utiliser Nohup ?

Pourquoi ne puis-je pas utiliser Cd dans un script Bash ? ?

CD vers un répertoire de nom inconnu dans un chemin connu ?

Quand utiliser un serveur dédié

Linux :ajouter un répertoire à PATH