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.
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.
Respuestas:
Puedes usar
cd -
o podrías usar
cd $OLDPWD
cd -
. Por ejemplo, cuando escribe cd /usr/local
, sabe que se encuentra /usr/loal
, pero cuando escribe cd -
no siempre recuerda de qué directorio proviene. Por lo tanto, te ahorra escribir cd -; pwd
. Pero todo esto es especulación.
alias -- -='cd -'
luego use -
(1 char) en lugar de cd -
(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 -
y cd $OLDPWD
definitivamente son las principales opciones para esto. Sin embargo, a menudo encuentro que entrar en un flujo de trabajo pushd
y popd
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
.
La principal diferencia se muestra fácilmente con un ejemplo.
$ cd dir1
$ pushd dir2
En este punto, tiene una pila de directorios que es dir2, dir1
. Ejecutar pushd
sin argumentos lo pondrá nuevamente en dir1
la pila ahora como dir1, 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 el cd -
flujo de trabajo.
Sin embargo, ahora puede cambiar los directorios varias veces y volver a dir1
. Por ejemplo,
$ cd dir1
$ pushd dir2
$ cd dir3
Si corres popd
en este punto, volverás a dir1
.
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 intentarlo push +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:
cd ~-
hace lo mismo que cd -
(de la respuesta actualmente aceptada) sin el molesto eco del directorio y es más fácil de escribir que cd "$OLDPWD"
o cd - > /dev/null
.
alias -- -='cd "$OLDPWD"'
usando -
(1 char) en lugar de cd ~-
(5 char). :)
cd ~-/..
funciona pero cd -/..
no funciona!
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:
alias cdc='cd -'
De esta manera, simplemente escribiría 'cdc' y lo colocaría en su último directorio de trabajo.
bind '"\e[24~":"\C-k \C-ucd -\n"'
(o más preferiblemente moverlo al inputrc
archivo como se menciona en la respuesta).