GNU/Linux >> Linux Esercitazione >  >> Linux

McFly:una sostituzione della funzione di ricerca della cronologia di Bash "Ctrl + R".

La maggior parte di voi ha sicuramente utilizzato o sentito parlare della ricerca inversa funzione in BASH. La scorciatoia da tastiera per eseguire la ricerca inversa in Bash è Ctrl+r . Usando la ricerca inversa bash, possiamo visualizzare tutti i comandi che abbiamo eseguito in precedenza senza doverli riscrivere ogni volta. Ovviamente puoi usare le frecce SU/GIÙ per cercare la cronologia di bash. Tuttavia, Ctrl+r renderà questo processo molto più semplice e veloce. Oggi, mi sono imbattuto in un sostituto della funzione di ricerca della cronologia di Bash "Ctrl + r". Incontra "McFly" , un semplice strumento scritto in Ruggine linguaggio di programmazione che sostituisce la ricerca della cronologia predefinita Ctrl+r Bash con un motore di ricerca intelligente. Tutti i suggerimenti di comando forniti da McFly hanno la priorità in tempo reale con una piccola rete neurale .

McFly riassocia la funzionalità Ctrl+r per visualizzare tutti i comandi eseguiti di recente dalla cronologia di Bash. Aumenta la cronologia della shell monitorando quanto segue:

  • Stato uscita comando,
  • timestamp (quando esegui il comando),
  • e directory di esecuzione (dove esegui il comando).

Salva tutti i dettagli di rilevamento in un database SQLite. Poiché tiene traccia dello stato di uscita storico del comando, puoi semplicemente ignorare i vecchi comandi non riusciti.

Quando suggerisce un comando, McFly considera i seguenti fatti:

  • In quale directory hai eseguito il comando. È probabile che in futuro ripeterai quel comando nella stessa directory.
  • Quali comandi hai digitato prima del comando.
  • Quanto spesso esegui il comando.
  • L'ultima volta che hai eseguito il comando.
  • Se hai già selezionato il comando in McFly.
  • Lo stato di uscita storico del comando. Perché probabilmente non vuoi eseguire vecchi comandi non riusciti, giusto?

McFly mantiene il tuo file di cronologia Bash predefinito, quindi puoi interrompere l'utilizzo di McFly in qualsiasi momento. McFly non è solo per BASH, è anche estensibile per altre shell.

Installa McFly in Linux

McFly può essere installato utilizzando Linuxbrew su Linux. Se non hai ancora installato Linuxbrew, fai riferimento al seguente link.

  • Linuxbrew:un gestore di pacchetti comune per Linux e Mac OS X

Una volta installato Linuxbrew, esegui i seguenti comandi per installare McFly:

$ brew tap cantino/mcfly https://github.com/cantino/mcfly
$ brew install mcfly

Al termine dell'installazione, vedrai il seguente output.

==> 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

Installa mcfly in Linux

Come puoi vedere, dobbiamo fare un altro passaggio prima di iniziare a utilizzare McFly.

Aggiungi le seguenti righe al tuo ~/.bashrc file:

if [ -f $(brew --prefix)/opt/mcfly/mcfly.bash ]; then
. $(brew --prefix)/opt/mcfly/mcfly.bash
fi

Infine, esegui il comando seguente per apportare modifiche agli effetti:

$ source ~/.bashrc

La cronologia BASH verrà importata nel database McFly quando esegui questo comando per la prima volta. Ci vorranno alcuni istanti a seconda delle dimensioni del file della cronologia di bash. Al termine dell'importazione, vedrai il seguente messaggio.

McFly: Importing Bash history for the first time. This may take a minute or two...done.

Ora puoi iniziare a usare McFly.

Cerca nella cronologia di bash utilizzando McFly

Per cercare nella cronologia dei comandi, digita semplicemente 'mcfly search' seguito dalla parte del nome del comando e premi il tasto INVIO. Mcfly visualizzerà i suggerimenti dei comandi in base alla query di ricerca che hai appena digitato.

$ mcfly search <part-of-the-command>

Ad esempio, digito il seguente comando:

$ mcfly search mk

Ecco l'output di esempio dalla mia macchina Ubuntu:

Cerca nella cronologia di bash usando McFly

Come puoi vedere, ho usato il comando 'mkdir' due volte. Se vuoi eseguire un comando dall'elenco dei suggerimenti, usa semplicemente SU/GIÙ frecce per selezionarlo e premere INVIO per eseguirlo immediatamente. Se vuoi modificare un comando, sceglilo e premi TAB chiave per riportarlo al tuo Terminale e quindi modificarlo prima di eseguirlo. Per eliminare il comando selezionato dalla cronologia, basta premere F2 .

In alternativa, digita il comando seguente per aprire la ricerca nella cronologia, quindi digita qualsiasi comando o parte del comando per visualizzare i suggerimenti dalla cronologia.

$ mcfly search

McFly visualizzerà i suggerimenti dei comandi durante la digitazione.

Ecco un breve video dimostrativo dei McFly:

McFly in azione

Visualizza la guida:

$ mcfly --help

Lettura consigliata:

  • HSTR:visualizza, naviga, cerca e gestisci facilmente la cronologia della riga di comando
  • Scegli:uno strumento di ricerca fuzzy da riga di comando per Linux
  • Come cancellare un comando specifico dalla cronologia di Bash in Linux

Rimuovi McFly

Non mi piacciono i McFly, nessun problema! Rimuoverlo utilizzando i seguenti comandi:

$ brew uninstall mcfly
$ brew untap cantino/mcfly

Infine, rimuovi le righe che abbiamo aggiunto in precedenza da ~/.bashrc file.


Linux
  1. Suggerimenti Bash per tutti i giorni dalla riga di comando

  2. Come cancellare la cronologia della riga di comando BASH in Linux

  3. Come cancellare un comando specifico dalla cronologia di Bash in Linux

  4. Come disabilitare la modifica della mia cronologia in bash

  5. Esegui il comando in bash senza salvare nella cronologia

Bash wait Comando

Comando della cronologia in Linux (Cronologia di Bash)

Comando Bash printf

Come visualizzare la cronologia di Bash senza numeri di riga

Come abilitare il timestamp nella cronologia di Bash in Linux

Utilizzo della funzione di cronologia su Bash Shell su Ubuntu 16.04 LTS Server