
A menudo suelo cd -
volver a donde estaba. ¿Cómo puedo hacer esto varias veces en bash? ¿O zsh o alguna otra herramienta admitiría esto?
Respuesta1
En zsh, hay una auto_pushd
opción. Esta opción hace que cd
se comporte como pushd
. Luego puede utilizar popd
para volver a directorios anteriores.
~ $ setopt auto_pushd
~ $ cd /
/ $ cd /var
/var $ cd /usr
/usr $ dirs
/usr /var / ~
/usr $ popd
/var $ popd
/ $ popd
~ $
En Bash, puedes asignar un alias cd
a pushd
.
alias cd=pushd
La única desventaja de esto es que perderás cd
las tres banderas. De la cd
entrada de ayuda:
-L fuerza el seguimiento de enlaces simbólicos
-P usa la estructura del directorio físico sin seguir enlaces simbólicos
-e si se proporciona la opción -P y el directorio de trabajo actual no se puede determinar correctamente, salga con un estado distinto de cero
Si alguna vez tiene que usar el código cd
incorporado en lugar del alias, puede usar uno de estos:
'cd'
- Citar el comando hace que el shell no resuelva el alias y use el cd normal.\cd
- Las barras invertidas citan caracteres. Si cita un carácter de una palabra, el shell trata la palabra completa como entre comillas.builtin cd
- Esto le dice directamente al shell que use el incorporado en lugar del alias.
Respuesta2
A continuación se muestra una forma rápida y sencilla de marcar directorios como favoritos y volver a ellos:
$ a() { alias $1="cd $PWD"; }
Ve a algún lugar y escribe:
$ a 1
Ahora tiene un comando llamado 1
que crea cd
el directorio actual en este momento. Luego simplemente escribe:
$ 1
Y listo, volvemos a ese directorio. Esto me parece muy útil.
Respuesta3
intento
Encontré un script, disponibleaquí, eso resolvió este problema para mí. Con esto puedes escribir cd --
para ver los últimos 10 directorios que has usado. Se verá así:
0 ~/Documents/onedir
1 ~/Music/anotherdir
2 ~/Music/thirddir
3 ~/etc/etc
Para ir a ~/Music/thirddir
simplemente escribircd -2
zsh
oh-my-zsh proporciona una funcionalidad realmente buena para esto (al menos creo que es oh-my-zsh quien establece esto).
Básicamente, d
tiene el alias dedirs -v | head -10
dirs
es un comando integrado de zsh y muestra los últimos directorios en los que ha estado.
Además, 1
tiene un alias cd -1
y así sucesivamente para todos los números 9
.
En la práctica, funciona así:
$ pwd
/home/me/Documents/gems/java_regex/lib
$ d
0 ~/Documents/gems/java_regex/lib
1 ~/Documents/gems/java_regex
2 ~/Documents/gems
3 ~/Documents
4 ~
$ 2
~/Documents/gems
$ pwd
/home/me/Documents/gems
Respuesta4
Sí. Podemos hacer que su cd
comando sea más poderoso. El perfil Bash nos permite personalizarlo como queramos.
En lugar de hacer varios cd
para navegar por el directorio, podemos usaralias
Por ejemplo :
alias ..5="cd ../../../../.."
Esto te llevará 5 directorios arriba del nivel.