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 cd
que 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
cd
menciones:fuente
cd $OLDPWD
esto. 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
pushd
ypopd
, 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
popd
tres 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
cd
a la pila.fuente
cd
apushd
, 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 $OLDPWD
Puede usar la búsqueda de historial presionando
CTRL-R
y escribiendo algunas letras delcd
comando que ingresó anteriormente. PresionarCTRL-R
repetidamente 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_history
en 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
cd
la 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 samename
irá al directorio CDPATH y no a la del directorio actual, lo cual es malo. Tiene que usarcd ./samename
para 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.popd
ypushd
también son buenos, y esaj
cosa 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
cd
solo.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
locate
está 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