¿Cómo puedo deshacer el último comando de cd?

77

¿Hay alguna manera de volver al directorio de trabajo anterior después de hacer un cd a un directorio diferente?

Mi caso de uso es que estoy atravesando una estructura de directorios para un proyecto Java, y estoy esperando que el directorio actual tenga solo un subdirectorio. Entonces, escribo cd y presiono Tab y Enter bastante rápido. Sin embargo, la pestaña falló, ya que esperaba equivocadamente un subdirectorio, cuando en realidad hay más. Entonces, acabo de ejecutar cd , y ahora estoy en mi directorio personal, en lugar del proyecto Java. ¿Hay alguna manera de "deshacer" este cd y volver al directorio en el que estaba?

    
pregunta nickb 16.07.2012 - 20:18

5 respuestas

125

Puede usar cd - para volver a su ubicación anterior, sin importar dónde estaba.

    
respondido por el ImaginaryRobots 16.07.2012 - 20:22
19

cd - es ideal para retroceder un nivel, pero si quieres retroceder algunos niveles, echa un vistazo a este script:

acd_func.sh

Es genial. cd -- para ver su historial, y cd -3 para volver 3 niveles, por ejemplo.

    
respondido por el Dean 17.07.2012 - 03:04
15

También puedes usar pushd y popd para utilizar la pila de directorios:)

Información aquí

    
respondido por el Sinan Bolel 17.07.2012 - 00:19
5

Además, cd .. puede llevarte de vuelta al directorio padre del directorio de trabajo y, si es necesario, el comando puede repetirse hasta que llegues a donde quieres ser. De hecho, cada vez que se evoca te lleva de regreso a través del árbol de directorios, que finalmente terminaría en / (el directorio raíz) si simplemente seguías repitiendo el comando.

En contraste , cd - hace que el directorio de trabajo anterior sea el directorio de trabajo actual (que se conoce como . ) y la ubicación exacta en el sistema de archivos se puede encontrar con pwd

Así que tanto cd .. como cd - pueden ser útiles en diferentes circunstancias cuando navegan por el árbol de directorios, aunque difieren en los aspectos mencionados anteriormente. Quizás el comando más útil después de divertirse experimentando con estos dos comandos es cd , que lo regresa a la carpeta de inicio.

    
respondido por el user76204 10.08.2012 - 22:50
-1

La mejor forma de hacer esto para volver es cd - ; sin embargo, si quieres omitir muchos niveles a la vez, mejor utilizas cd .. para un nivel, cd ../.. , para dos, cd ../../.. para tres y en ... una buena manera de hacerlo rápido es este guión:

#!/bin/bash
printf "Number of folders to move back: "
read TIMES
BACKCHARS=../
BACK=$(for i in 'seq $TIMES'; do printf $BACKCHARS; done)
cd $BACK
    
respondido por el user258456 02.06.2015 - 21:19

Lea otras preguntas en las etiquetas