¿Hay algo como el historial de búsqueda inversa de bash (Ctrl-r), pero solo para directorios?
Tengo algunas jerarquías de carpetas profundas a las que quiero saltar, por lo que me gustaría usar algo como el historial de búsqueda inversa, pero solo busca nombres de carpetas y me da rutas absolutas.
Esencialmente, daría resultados similares al uso, !?
pero solo los comandos coincidentes con cd en el frente, puede recorrer los resultados y las rutas completas.
Hasta ahora, la mejor solución que he encontrado es bashmarks .
Respuestas:
Echa un vistazo a autojump :
fuente
Ahi esta
ese es el comando "cd [espacio] [guión]", que va al directorio que estaba antes, esencialmente un "historial de profundidad 1". "Cd -" repetido alterna entre dos directorios.
Citando la página man:
Desafortunadamente, no conozco un historial real de directorios incorporado.
fuente
pushd dir
popd
par que puede almacenar su pila de directorios de historial. Esto es realmente útil en scripts que operan en diferentes carpetas.pushd
ypopd
, y también ya se menciona aquí.bash tiene pushd / popd / dirs. Tengo esto en mi .bashrc para insertar automáticamente directorios en la pila de bash.
Pop estos usando
popd
y mostrar la pila usandodirs
fuente
He tenido una buena experiencia con z-jump. Permite completarlo, aunque solo para el destino final, sin pasar por un camino. Sin embargo, muestra la ruta completa al completar la pestaña.
fuente
Solo para intervenir con mi propia experiencia, escribí un script simple para abordar este requisito hace algún tiempo, anula el comando cd incorporado con una función simple que agrega la nueva ubicación del directorio a un archivo de historial, luego se usa un script python para proporciona una interfaz bash que actualiza dinámicamente una lista ordenada de directorios a medida que ingresa los términos de búsqueda, algo así como el comando de búsqueda inversa de bash.
Está disponible en git-hub para aquellos que son curiosos.
fuente
Me gustaría recomendar mi
ltcd
para una navegación rápida por el historial del directorio:https://github.com/dczhu/ltcd
Proporciona las siguientes características para facilitarle la vida:
fuente
He creado un script que tiene una funcionalidad similar al comando de oh-my-zsh
dirs -v
que funciona en bash. Si alguna vez usó oh-my-zsh , es posible que haya notado que el historial de directorio proporcionado por el comandodirs -v
se restablecerá cada vez que salga del terminal. Sin embargo, no sucederá si usa este script .La funcionalidad:
Muestra la lista de los 10 directorios usados más recientemente con
d
.Salte a cualquier directorio de la lista escribiendo el número del directorio en la lista. Debe usar 0 en lugar de 10 para saltar al décimo directorio.
Una ruta de directorio se colocará en la parte superior de la lista cada vez que use
v
( vim ) para editar archivos oo
( xdg-open ) para abrir un archivo desde ese directorio. O si lo desea, cada vez que visita un directorio.Puedes verlo en acción aquí .
fuente
Bueno, podría agregar este fragmento de código a su
~/.bashrc
, queproporciona un comando de CD personalizado
y proporciona un comando de búsqueda de historial de CD.
Por supuesto, el comando cdhist que proporcioné es muy básico y no es lo que querías; pero es concebible usar declaraciones de caso o expansión de parámetros para lograr algo similar a lo que desea.
Incluso podría agregar alguna función de "Finalización programable", que podría usarse para agregar el
cd /path/to/mydir
comando completo basado en una subcadena única de/path/to/unique/mydir
, aunque ese método aún requeriría que escribacd unique/mydir<tab>
.fuente
dirs
comando de bash que hace esencialmente lo mismomy_dirs
, pero en una línea.alias cd=pushd
que sería la forma más elegante.Usted puede construir su propio
cd
comando conpushd
,popd
,dirs
órdenes internas.Uso
cd --
(enumerar el historial actual)cd -num
(vaya al directorio num)cd -
(ir al directorio anterior)fuente
Arme esta herramienta, que combina soluciones anteriores para almacenar un historial global de CLI global con una herramienta interactiva de grepping llamada percol (asignada a C ^ R). Lo uso para recuperar comandos por donde se ejecutaron o para encontrar un directorio mediante un comando. Todavía está resbaladizo en la primera máquina que comencé a usar, ahora con un historial de CLI> 2 años.
La herramienta grep funciona tanto en ruta como en comando, pero aún puede ser útil para usted. Ver también 'dirs -v' en zsh
https://github.com/gawells/ariadne
fuente
cd share/man
solo funciona si ya estoy en / usr.