Problema de eliminación del directorio de la terminal

Realmente no sé cómo se llama, pero era un problema para mí.

Así que esto es lo que estaba haciendo:

  1. Directorio creado con contenido y tenerlo abierto en el buscador
  2. Abra una terminal y vaya al mismo directorio.
  3. En el buscador elimino la carpeta, va a la papelera.
  4. Carpeta recreada en el buscador, con el mismo nombre, diferente contenido.
  5. Haz un ls en la terminal, que imprime el contenido del directorio anterior.

¿Esto es normal? ¿Realmente tengo que hacer cd .. en la terminal e ingresar al directorio "nuevo"? (Si cd .. termino en la Papelera, no en la ubicación inicial del directorio)

Supongo que es un directorio de enlace suave, pero ¿no debería saber el terminal que el directorio en el que se encuentra actualmente ya no existe y cd ... hasta que llegue a un directorio existente? (En el paso 3)

¿Hay alguna razón por la que aún debería apuntar al directorio anterior?

Respuestas (1)

Estás en el directorio "papelera" ahora porque cuando tiraste la carpeta, tu vista de esa carpeta en la terminal se fue con ella. La terminal, al estar completamente dentro del directorio, ni siquiera necesita saber que se ha movido a la papelera. Su pwd ni siquiera cambia porque no tiene motivos para volver a validar la ruta del directorio actual en cada interacción, ¿y por qué debería hacerlo? el directorio en sí sigue siendo válido, solo vive en ~/.Papelera ahora.

Los directorios (o carpetas) son en realidad solo referencias a puntos en un disco físico, por lo que mover carpetas alrededor de su disco duro nunca cambia su ubicación en el disco, así que nuevamente, ¿por qué debería actualizarse la Terminal? No le importa

Es un "te pillo" que ha sido parte de Linux durante 20 años y de Unix durante mucho más tiempo.

¿Eso no rompe las expectativas de un usuario? Parcialmente.
Unix y sus shells no se tratan de las expectativas del usuario :-)
El usuario debe cambiar las expectativas. La Terminal es para el usuario que interactúa con la computadora, no para que la computadora interactúe con el usuario.