GNU/Linux >> Tutoriales Linux >  >> Linux

McFly:un reemplazo para la función de búsqueda de historial de Bash 'Ctrl + R'

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.


Linux
  1. ¿La mejor manera de buscar en la historia de Shell?

  2. ¿Cómo aplicar la escritura anticipada a la búsqueda del historial de Bash (ctrl-r)?

  3. Comando de historial de Linux

  4. 15 ejemplos de expansión del historial de Linux Bash que debe conocer

  5. comando de exportación bash

Comando de espera bash

Comando de historial en Linux (Bash History)

Comando Bash printf

Cómo mostrar el historial de Bash sin números de línea

Cómo habilitar la marca de tiempo en el historial de Bash en Linux

Uso de la función de historial en Bash Shell en el servidor Ubuntu 16.04 LTS