En la terminal, ¿cómo puedo definir una clave para ir al directorio anterior en el que estaba al cambiar de directorio con el cd
comando?
Por ejemplo, estoy dentro /opt/soft/bin
y cd
dentro /etc/squid3
y quiero volver al primer directorio.
shell
cd-command
Hojat Taheri
fuente
fuente
cd -
. Por ejemplo, cuando escribecd /usr/local
, sabe que se encuentra/usr/loal
, pero cuando escribecd -
no siempre recuerda de qué directorio proviene. Por lo tanto, te ahorra escribircd -; pwd
. Pero todo esto es especulación.alias -- -='cd -'
luego use-
(1 char) en lugar decd -
(4 char). Más rápido:D
cd -
dos veces. ¿cd /; cd /usr; cd -; cd -
Deberías estar dentro/usr
? Pero tal vez extraño entendí tu pregunta.Las otras respuestas son definitivamente completas en el sentido de respuesta directa.
cd -
ycd $OLDPWD
definitivamente son las principales opciones para esto. Sin embargo, a menudo encuentro que entrar en un flujo de trabajopushd
ypopd
funciona mejor.Para resumir, si te estás mudando a un directorio con la intención final de volver a donde empezaste, usa
pushd
/popd
.Ejemplo extendido
La principal diferencia se muestra fácilmente con un ejemplo.
En este punto, tiene una pila de directorios que es
dir2, dir1
. Ejecutarpushd
sin argumentos lo pondrá nuevamente endir1
la pila ahora comodir1, dir2
.popd
haría lo mismo, pero te dejaría con una pila de directorios vacía. Esto no es muy diferente de cómo hubiera sido con elcd -
flujo de trabajo.Sin embargo, ahora puede cambiar los directorios varias veces y volver a
dir1
. Por ejemplo,Si corres
popd
en este punto, volverás adir1
.fuente
pushd
y regrese a la carpeta anterior mientras estápopd
haciendo.dirs -v
, pero la realidad para mí es que a menudo el caso simple es todo lo que realmente uso. (O, lo que es peor, cometo un error al intentarlopush +2
o similar) Además, pensé en pequeños pasos para lograr que alguien pruebe el flujo de trabajo. :)cd
a la cima de la pila sin aparecer?Deberías usar:
hace lo mismo que
cd -
(de la respuesta actualmente aceptada) sin el molesto eco del directorio y es más fácil de escribir quecd "$OLDPWD"
ocd - > /dev/null
.fuente
alias -- -='cd "$OLDPWD"'
usando-
(1 char) en lugar decd ~-
(5 char).:)
cd ~-/..
funciona perocd -/..
no funciona!cambiará al directorio de trabajo anterior.
fuente
Puede "definir una clave" para 'cd -' editando su archivo '~ / .bashrc' e incluyendo un alias para el comando. Por ejemplo, podría agregar 'cdc' para convertirlo en 'cd -', lo que le proporcionaría una forma más corta de llegar al último directorio agregando:
De esta manera, simplemente escribiría 'cdc' y lo colocaría en su último directorio de trabajo.
fuente
bind '"\e[24~":"\C-k \C-ucd -\n"'
(o más preferiblemente moverlo alinputrc
archivo como se menciona en la respuesta).cd ..
va a la carpeta precedente en el árbol de la carpeta.cd -
va a la carpeta que era antes. Este comando no funcionó en algunas distribuciones (ubuntu 16.04), funciona en debian 9.fuente