En la terminal, ¿cómo puedo definir una clave para ir al directorio anterior en el que estaba al cambiar de directorio con el cdcomando?
Por ejemplo, estoy dentro /opt/soft/biny cddentro /etc/squid3y 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 cdcomando?
Por ejemplo, estoy dentro /opt/soft/biny cddentro /etc/squid3y 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 $OLDPWDdefinitivamente son las principales opciones para esto. Sin embargo, a menudo encuentro que entrar en un flujo de trabajo pushdy popdfunciona 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 pushdsin argumentos lo pondrá nuevamente en dir1la pila ahora como dir1, dir2. popdharí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 popden este punto, volverás a dir1.
pushdy regrese a la carpeta anterior mientras está popdhaciendo.
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 +2o similar) Además, pensé en pequeños pasos para lograr que alguien pruebe el flujo de trabajo. :)
cda 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 inputrcarchivo como se menciona en la respuesta).