Problème de suppression du répertoire du terminal

1

Je ne sais pas vraiment comment ça s'appelle mais c'était un problème pour moi.

Alors voici ce que je faisais:

  1. Répertoire créé avec contenu et ouvrez-le dans le Finder
  2. Ouvrez un terminal et accédez au même répertoire.
  3. Dans le Finder, je supprime le dossier, il va à la corbeille.
  4. Dossier recréé dans le Finder, avec le même nom, un contenu différent.
  5. Faites un ls dans le terminal, qui affiche le contenu de l'ancien répertoire.

Est-ce normal? Dois-je vraiment cd .. sur le terminal et entrer dans le "nouveau" répertoire? (Si je cd .. je me retrouve dans la corbeille, pas l'emplacement initial du répertoire)

Je suppose que c’est un répertoire de liens symboliques, mais le terminal ne devrait-il pas savoir que le répertoire dans lequel il se trouve n’existe plus et cd .. jusqu’à ce qu’il atteigne un répertoire existant? (À l'étape 3)

Y a-t-il une raison pour laquelle il devrait toujours pointer vers l'ancien répertoire?

PrivatMamtora
la source

Réponses:

2

Vous vous trouvez maintenant dans le répertoire "corbeille", car lorsque vous avez jeté le dossier, l'affichage de ce dossier dans le terminal l'a accompagné. Le terminal, étant complètement à l'intérieur du répertoire, n'a même pas besoin de savoir qu'il a été déplacé dans la corbeille. Son mot de passe ne change même pas car il n'a aucune raison de re-valider le chemin du répertoire courant à chaque interaction - et pourquoi le devrait-il? le répertoire lui-même est toujours valide, il habite maintenant dans ~ / .Trash maintenant.

Les répertoires (ou les dossiers) ne sont en réalité que des références à des points situés sur un disque physique. Par conséquent, le déplacement de dossiers autour de votre disque dur ne change jamais leur emplacement. Pourquoi le terminal doit-il se mettre à jour? Ça ne fait rien.

C'est un "gotcha" qui fait partie de linux depuis 20 ans et unix depuis bien plus longtemps.

marque principale
la source
Cela ne brise-t-il pas les attentes des utilisateurs? Partiellement.
PrivatMamtora
Unix et ses coques ne répondent pas aux attentes des utilisateurs :-)
nohillside
1
L'utilisateur doit changer les attentes. Le terminal est destiné à l'utilisateur qui interagit avec l'ordinateur, pas à l'ordinateur qui interagit avec l'utilisateur.
Mainstreetmark