Bueno, supongo que podría escribirlos del 1 al 10 más o menos, pero sería bueno tener una forma inteligente de hacerlo. Eso realmente no me sienta bien. Sin embargo, lo hará si no surge otra solución.
Respuestas:
16
Pon esto en tu ~/.bashrc:
cdup(){
levels=${1-1}while((levels--));do
cd ..done}
(El nombre cdupproviene del comando FTP correspondiente, solo para su información).
Gracias por la respuesta, fui con la respuesta de jleedev debido a que es 1 línea más corta y no pude decidir quién elegir. ¡Gracias de cualquier manera!
@Muu: Ambas respuestas funcionarán, pero la mía funcionará para muchos, muchos niveles, y @ jleedev solo funcionará para un pequeño puñado (cualquiera que sea el límite de la pila). ;-) (Estoy seguro de que nunca alcanzarás el límite de ninguna manera, pero el mío es más general, es a lo que estoy tratando de llegar. :-))
Chris Jester-Young
Punto justo, te he otorgado la respuesta entonces. Lo siento jleedev, aunque lo más probable es que continúe usando tu solución, ya que olvidaré cambiarla :)
11
Me enseñaron a usar 'pushd' y 'popd' para tales circunstancias.
Por ejemplo, escriba 'pushd'. y luego 'cd / home'. Ahora escriba 'popd' y volverá a donde comenzó.
'pushd' / 'popd' es una pila, puede insertar tantos directorios allí como desee, pero está en último lugar, primero cuando aparece popd.
Es posible que desee considerar el uso pushdy la popdconfiguración de marcadores de ubicación y volver allí fácilmente desde cualquier directorio al que haya cambiado.
También puede establecer una variable con el nombre de un directorio que usa mucho, luego CD allí:
MYPROJ=~/projects/name/src
cd $MYPROJ
proj1='cd $MYPROJ'
cd:
cambia de nuevo al último directorio en el que estabas. Lo uso todo el tiempo para ir desde lo más profundo de mi árbol de códigos a la raíz ... aunque eso solo funciona si lo hiciste en uno cambio.
cdd old new
esta era una función de script que había escrito en el pasado y que usaba para moverme entre árboles similares. Básicamente, tomó dos argumentos e hizo una expresión regular en su camino, ideal para moverse entre ramas y tal. Por ejemplo, si estuvieras en ~ / bzr / web / trunk / path / to / feature y necesitaras acceder a ~ / bzr / web / feature-branch / path / to / feature, entonces lo harías cdd trunk feature-branch. La implementación que tuve fue en un lenguaje arcaico de shell en AIX, pero fue bastante trivial, por lo que debería ser fácil de implementar en el shell de elección si lo necesita. Para nosotros fue muy útil porque la estructura se veía así: ... / {product} / {version} / {release} / {src, bld, dbg, pkg, tst} / {component} / ... así que moviéndose en ese árbol se volvió loco bastante rápido.
ls
? ¿Seguramente quieres decircd
?alias cmd5 = "cd ../../../../../"
Respuestas:
Pon esto en tu
~/.bashrc
:(El nombre
cdup
proviene del comando FTP correspondiente, solo para su información).fuente
Me enseñaron a usar 'pushd' y 'popd' para tales circunstancias.
Por ejemplo, escriba 'pushd'. y luego 'cd / home'. Ahora escriba 'popd' y volverá a donde comenzó.
'pushd' / 'popd' es una pila, puede insertar tantos directorios allí como desee, pero está en último lugar, primero cuando aparece popd.
fuente
Seguro Por qué no:
fuente
up 500
. :-)Rápido y sucio:
Formulado para cambiar solo el directorio una vez.
fuente
Aquí hay una forma alternativa:
fuente
Es posible que desee considerar el uso
pushd
y lapopd
configuración de marcadores de ubicación y volver allí fácilmente desde cualquier directorio al que haya cambiado.También puede establecer una variable con el nombre de un directorio que usa mucho, luego CD allí:
fuente
Yo uso autojump que me permite escribir:
puede aprender de tus hábitos y es muy ligero (y adictivo;))
fuente
Construye el camino usando
printf
entoncescd
:Usar como:
fuente
Dos pensamientos que pueden serle útiles:
cd:
cambia de nuevo al último directorio en el que estabas. Lo uso todo el tiempo para ir desde lo más profundo de mi árbol de códigos a la raíz ... aunque eso solo funciona si lo hiciste en uno cambio.
cdd old new
esta era una función de script que había escrito en el pasado y que usaba para moverme entre árboles similares. Básicamente, tomó dos argumentos e hizo una expresión regular en su camino, ideal para moverse entre ramas y tal. Por ejemplo, si estuvieras en ~ / bzr / web / trunk / path / to / feature y necesitaras acceder a ~ / bzr / web / feature-branch / path / to / feature, entonces lo harías
cdd trunk feature-branch
. La implementación que tuve fue en un lenguaje arcaico de shell en AIX, pero fue bastante trivial, por lo que debería ser fácil de implementar en el shell de elección si lo necesita. Para nosotros fue muy útil porque la estructura se veía así: ... / {product} / {version} / {release} / {src, bld, dbg, pkg, tst} / {component} / ... así que moviéndose en ese árbol se volvió loco bastante rápido.fuente