La mayoría de ustedes definitivamente han usado o escuchado acerca de la búsqueda inversa función en BASH. El método abreviado de teclado para realizar una búsqueda inversa en Bash es Ctrl+r . Usando la búsqueda inversa de bash, podemos mostrar todos los comandos que ejecutamos previamente sin tener que volver a escribirlos cada vez. Por supuesto, puede usar las flechas ARRIBA/ABAJO para buscar en su historial de bash. Sin embargo, Ctrl+r hará que este proceso sea mucho más fácil y rápido. Hoy, me topé con un reemplazo para la función de búsqueda de historial de Bash 'Ctrl + r'. Conoce a "McFly" , una herramienta simple escrita en Rust lenguaje de programación que reemplaza la búsqueda predeterminada de historial de Ctrl+r Bash con un motor de búsqueda inteligente. Todas las sugerencias de comandos realizadas por McFly se priorizan en tiempo real con una pequeña red neuronal .
McFly vuelve a vincular la funcionalidad Ctrl+r para mostrar todos los comandos ejecutados recientemente de su historial de Bash. Aumenta su historial de shell mediante el seguimiento de lo siguiente:
- Estado de salida del comando,
- marca de tiempo (cuando ejecuta el comando),
- y directorio de ejecución (donde ejecuta el comando).
Guarda todos los detalles de seguimiento en una base de datos SQLite. Dado que realiza un seguimiento del estado de salida histórico del comando, simplemente puede ignorar los antiguos comandos fallidos.
Al sugerir un comando, McFly considera los siguientes hechos:
- En qué directorio ejecutó el comando. Es probable que repita ese comando en el mismo directorio en el futuro.
- Qué comandos escribiste antes del comando.
- Con qué frecuencia ejecuta el comando.
- La última vez que ejecutó el comando.
- Si ha seleccionado el comando en McFly antes.
- El estado de salida histórico del comando. Porque probablemente no quieras ejecutar viejos comandos fallidos, ¿verdad?
McFly mantiene su archivo de historial de Bash predeterminado, por lo que puede dejar de usar McFly en cualquier momento. McFly no es solo para BASH, también se puede ampliar para otros shells.
Instalar McFly en Linux
McFly se puede instalar usando Linuxbrew en Linux. Si aún no ha instalado Linuxbrew, consulte el siguiente enlace.
- Linuxbrew:un administrador de paquetes común para Linux y Mac OS X
Una vez instalado Linuxbrew, ejecute los siguientes comandos para instalar McFly:
$ brew tap cantino/mcfly https://github.com/cantino/mcfly
$ brew install mcfly
Una vez completada la instalación, verá el siguiente resultado.
==> Installing mcfly from cantino/mcfly ==> Downloading https://github.com/cantino/mcfly/releases/download/v0.2.5/mcfly-v0 ==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.c ######################################################################## 100.0% ==> ONE MORE STEP! Edit ~/.bashrc and add the following: if [ -f $(brew --prefix)/opt/mcfly/mcfly.bash ]; then . $(brew --prefix)/opt/mcfly/mcfly.bash fi 🍺 /home/linuxbrew/.linuxbrew/Cellar/mcfly/v0.2.5: 4 files, 3.5MB, built in 33 seconds
Instalar mcfly en Linux
Como puede ver, debemos dar un paso más antes de comenzar a usar McFly.
Agregue las siguientes líneas a su ~/.bashrc archivo:
if [ -f $(brew --prefix)/opt/mcfly/mcfly.bash ]; then . $(brew --prefix)/opt/mcfly/mcfly.bash fi
Finalmente, ejecute el siguiente comando para realizar los cambios de efectos:
$ source ~/.bashrc
Su historial de BASH se importará a la base de datos de McFly cuando ejecute este comando por primera vez. Tomará unos momentos dependiendo del tamaño de su archivo de historial de bash. Una vez realizada la importación, verá el siguiente mensaje.
McFly: Importing Bash history for the first time. This may take a minute or two...done.
Ahora puede comenzar a usar McFly.
Buscar en el historial de bash con McFly
Para buscar a través de su historial de comandos, simplemente escriba 'búsqueda de mcfly' seguido de la parte del nombre del comando y presione la tecla ENTER. Mcfly mostrará las sugerencias de comandos basadas en la consulta de búsqueda que acaba de escribir.
$ mcfly search <part-of-the-command>
Por ejemplo, escribo el siguiente comando:
$ mcfly search mk
Aquí está la salida de muestra de mi máquina Ubuntu:
Buscar en el historial de bash usando McFly
Como puede ver, he usado el comando 'mkdir' dos veces. Si desea ejecutar un comando de la lista de sugerencias, simplemente use ARRIBA/ABAJO flechas para seleccionarlo y presione ENTER para ejecutarlo inmediatamente. Si desea editar un comando, selecciónelo y presione TAB para traerlo de vuelta a su Terminal y luego edítelo antes de ejecutarlo. Para eliminar el comando seleccionado del historial, simplemente presione F2 .
Alternativamente, escriba el siguiente comando para abrir la búsqueda del historial y luego escriba cualquier comando o parte del comando para ver las sugerencias de su historial.
$ mcfly search
McFly mostrará las sugerencias de comandos a medida que escribe.
Aquí hay una breve demostración en video de McFly:
McFly en acción
Ver ayuda:
$ mcfly --help
Lectura sugerida:
- HSTR:vea, navegue, busque y administre fácilmente su historial de línea de comandos
- Pick:una herramienta de búsqueda difusa de línea de comandos para Linux
- Cómo borrar un comando específico del historial de Bash en Linux
Eliminar McFly
Si no me gusta McFly, ¡no hay problema! Elimínelo usando los siguientes comandos:
$ brew uninstall mcfly
$ brew untap cantino/mcfly
Finalmente, elimine las líneas que agregamos anteriormente de ~/.bashrc archivo.