Constantemente voy a "cd ../../../../". ¿Hay un comando / alias que podría dejarme ir 'cmd 4' y me devolverían 4 directorios?
alias cmd5 = "cd ../../../../../"
Constantemente voy a "cd ../../../../". ¿Hay un comando / alias que podría dejarme ir 'cmd 4' y me devolverían 4 directorios?
alias cmd5 = "cd ../../../../../"
Respuestas:
Pon esto en tu ~/.bashrc
:
cdup() {
levels=${1-1}
while ((levels--)); do
cd ..
done
}
(El nombre cdup
proviene del comando FTP correspondiente, solo para su información).
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.
Seguro Por qué no:
arriba() { [$ # = 0] && cd .. && return [$ 1 = 0] && retorno cd .. && up $ (($ 1 - 1)) }
up 500
. :-)
Rápido y sucio:
cmd () { dir=.; for i in $(seq 1 $1); do dir=$dir/..; done; pushd $dir; }
Formulado para cambiar solo el directorio una vez.
Es posible que desee considerar el uso pushd
y la popd
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í:
MYPROJ=~/projects/name/src
cd $MYPROJ
proj1='cd $MYPROJ'
Yo uso autojump que me permite escribir:
j h
>> /home/cjulien
j et
>> /etc
puede aprender de tus hábitos y es muy ligero (y adictivo;))
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.
ls
? ¿Seguramente quieres decircd
?