¿Hay alguna forma de volver al directorio de trabajo anterior después de hacer un cd
directorio diferente?
Mi caso de uso es que estoy atravesando una estructura de directorios para un proyecto Java, y espero que el directorio actual tenga solo un subdirectorio. Entonces, escribo cd
y golpeo Taby Enterbastante rápido. Sin embargo, Tabfalló, ya que erróneamente esperaba un subdirectorio, cuando en realidad hay más. Así que ahora, acabo de ejecutar cd
, y ahora estoy en mi directorio de inicio, en lugar del proyecto Java. ¿Hay alguna forma de "deshacer" esto cd
y volver al directorio en el que estaba?
command-line
bash
nickb
fuente
fuente
cd -
es ideal para retroceder un nivel, pero si desea retroceder algunos niveles, consulte este script:acd_func.sh
Es genial.
cd --
para ver tu historial ycd -3
retroceder 3 niveles, por ejemplo.fuente
También puede usar
pushd
ypopd
utilizar la pila de directorios :)Alguna información aquí
fuente
Además,
cd ..
puede llevarlo de regreso al directorio principal del directorio de trabajo y luego, si es necesario, el comando puede repetirse hasta llegar a donde desea estar. De hecho, cada vez que se evoca, lo lleva de vuelta al árbol de directorios, que finalmente terminaría en/
(el directorio raíz) si simplemente repitiera el comando.Por el contrario , en
cd -
realidad hace que el directorio de trabajo anterior sea el directorio de trabajo actual (que se conoce como.
) y con qué ubicación exacta en el sistema de archivos se puede encontrarpwd
.Por lo tanto
cd ..
, ycd -
puede ser útil en diferentes circunstancias en las que la navegación por el árbol de directorios, a pesar de que no difieren en los aspectos antes mencionados. Quizás el comando más útil después de divertirse experimentando con estos dos comandos escd
, que lo regresa a la carpeta de inicio.fuente
La mejor manera de hacer esto para regresar es
cd -
, sin embargo, si desea omitir muchos niveles a la vez, es mejor usarlocd ..
para un nivelcd ../..
, para dos,cd ../../..
para tres y más ... una buena manera de hacerlo rápido es esto guión:fuente
cd
de un script no afecta al shell principal. Tendría que poner esto en una función de shell para que sea útil.up(){ local n="$1"; while ((n--)); do path+='../'; done; cd "$path"; }