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.