Actualmente paso muchas de mis horas de trabajo moviéndome de un lado a otro entre dos caminos que están muy lejos en el árbol y se desvían unos de otros en la raíz. Me parece que mi vida sería mucho más fácil si hubiera un argumento cdque lleve al usuario al último directorio en el que se encontraba.
Es decir, si estoy en:
/etc/foo/bar/baz/moo
y luego escribe:
cd /var/lib/fubarred_app/blargh/logs
Me gustaría poder volver al primer directorio sin tener que volver a escribir la ruta completa.
La clave de memoria no la corta, ya que uso suficientes comandos en cada lugar para que sea tan difícil regresar y encontrar el camino que quiero como escribirlo yo mismo.
¿Hay un comando breve que me permita ir al directorio anterior?

bazmoo" o "blarghlog" en el indicador :)Respuestas:
El comando
realizará el intercambio que necesita en la mayoría de los shells convencionales, la variante más larga más antigua es
que usará la variable de entorno que contiene el directorio de trabajo anterior.
La página de manual POSIX para
cdmenciones:fuente
cd $OLDPWDesto. Es bueno que los shells convencionales ofrezcan una forma mucho más corta.pushd, y al menos es una orden interna enbash.Además de la respuesta de bryan, vale la pena mencionar que también hay
pushdypopd, que crean directorios como una pila. Esto también está disponible en Windows NT; sin embargo, no está disponible en todos los shells.Por ejemplo, podemos ir a tres directorios diferentes, y siempre verá su pila cuando llame
pushd:Y cuando llamas
popdtres veces seguidas, llegas a esos directorios en la pila en orden inverso. Al mismo tiempo, la pila se vaciará nuevamente.Si está usando Zsh; tiene una opción AUTO_PUSHD, que empujará automáticamente
cda la pila.fuente
cdapushd, y sería sobre todo ser el mismo.Hay algunos programas de "salto"
Estos facilitan cualquier tipo de navegación del directorio. Lo usas dando una parte de la ruta y simplemente funciona.
En tu caso
Puede asignar cualquier letra que desee a estos programas, "j" es tradición :)
j2 y z admiten múltiples términos de búsqueda, ...
... y más opciones.
fuente
Además de
cd -ycd $OLDPWDPuede usar la búsqueda de historial presionando
CTRL-Ry escribiendo algunas letras delcdcomando que ingresó anteriormente. PresionarCTRL-Rrepetidamente traerá partidos más antiguos.Este método será más útil si tiene más de dos rutas para cambiar.
fuente
cd, ¡gran ayuda!Puede usar esto para crear fácilmente alias para directorios:
y después:
fuente
alias =partes? hmmmmbashmarks le permitirá marcar una serie de carpetas y saltar entre ellas con la finalización de la pestaña:
fuente
Otra posibilidad sería mantener dos ventanas abiertas, con una posicionada en cada directorio.
fuente
share_historyen zsh.Sé que esto no es estrictamente una respuesta a su pregunta, pero es útil para alcanzar el objetivo de llevarlo a sus directorios importantes .
en cualquier descenso UNIX-bash puede usar CDPATH para extender la carpeta en la que busca el comando cd.
de mi archivo .bashrc:
cd primero busca en su carpeta actual, luego busca en mi coding-project-directory.
.. me lleva a ~ / sources / myproject desde donde estoy actualmente parado.
Pequeña característica simple que ha ayudado mucho a mi navegación de directorio.
fuente
cdla lista de autocompletado (TAB), que es buena. Pero si.no está incluido y si hay una carpeta en una carpeta CDPATH con el mismo nombre que una en su directorio actual,cd samenameirá al directorio CDPATH y no a la del directorio actual, lo cual es malo. Tiene que usarcd ./samenamepara entrar en una carpeta dup.Sí,
cd -es el camino a seguir, pero me preocupa la falta de poder que tienes en tu caparazón.popdypushdtambién son buenos, y esajcosa también se ve bien.Lanzaré mi propia utilidad al ring ... es algo que he estado construyendo, personalizando y migrando conmigo durante los últimos 10 años más o menos y funciona bien para lo que quiero que haga.
Publicación de blog para mi utilidad de administración de directorios
Si funciona para ti, entonces increíble, pero si no lo hace, prométeme que obtendrás algo más :) Simplemente no puedes vivir
cdsolo.fuente
Si solo tiene 2 directorios, la forma más fácil es, como se mencionó,
Cuando tuve tales cosas en el pasado, tuve algunos trucos que hice, que podrían ser útiles.
Ponga comandos de alias en el archivo .cshrc, algo como esto
Vincular accesos directos a las rutas de interés desde mi directorio de inicio. Esto es una cosa de una vez.
Esto permitiría cambiar un directorio tan fácil como:
fuente
Autojump es un comando "cd" bash / sh / zsh que de tus acciones, mira este video .
así que esto te movería a muu después de que haya aprendido las últimas carpetas
fuente
haz
Tengo mi propia herramienta, pero también echaré un vistazo a la herramienta de Dereks
j.Por supuesto, la primera opción para saltar de un lado a otro es
Mi herramienta está destinada a directorios con nombres únicos en sistemas, donde
locateestá disponible; busca un nombre de directorio coincidente y salta a la primera coincidencia:Dependencias:
Inconvenientes:
Mejoras / modificaciones:
Uso:
Ventaja de mi solución:
cd -fuente