GNU/Linux >> LINUX-Kenntnisse >  >> Linux

McFly – Ein Ersatz für die „Strg+R“-Bash-Verlaufssuchfunktion

Die meisten von Ihnen haben definitiv die umgekehrte Suche verwendet oder davon gehört Funktion in BASH. Die Tastenkombination für die umgekehrte Suche in Bash ist Strg+r . Mit der umgekehrten Bash-Suche können wir alle Befehle aufrufen, die wir zuvor ausgeführt haben, ohne sie jedes Mal neu eingeben zu müssen. Sie können natürlich die Pfeile NACH OBEN/NACH UNTEN verwenden, um Ihren Bash-Verlauf zu durchsuchen. Strg+r macht diesen Vorgang jedoch viel einfacher und schneller. Heute bin ich auf einen Ersatz für die Bash-Verlaufssuchfunktion „Strg + R“ gestoßen. Treffen Sie "McFly" , ein einfaches Tool, das in Rust geschrieben wurde Programmiersprache, die die standardmäßige Bash-Verlaufssuche mit Strg+r durch eine intelligente Suchmaschine ersetzt. Alle Befehlsvorschläge von McFly werden in Echtzeit mit einem kleinen neuronalen Netzwerk priorisiert .

McFly bindet die Strg+r-Funktionalität neu, um alle kürzlich ausgeführten Befehle aus Ihrem Bash-Verlauf anzuzeigen. Es erweitert Ihren Shell-Verlauf, indem es Folgendes verfolgt:

  • Befehlsausgangsstatus,
  • timestamp (Wenn Sie den Befehl ausführen),
  • und Ausführungsverzeichnis (wo Sie den Befehl ausführen).

Es speichert alle Tracking-Details in einer SQLite-Datenbank. Da es den historischen Beendigungsstatus des Befehls verfolgt, können Sie die alten fehlgeschlagenen Befehle einfach ignorieren.

Beim Vorschlagen eines Befehls berücksichtigt McFly die folgenden Fakten:

  • Auf welchem ​​Verzeichnis Sie den Befehl ausgeführt haben. Sie werden diesen Befehl wahrscheinlich in Zukunft im selben Verzeichnis wiederholen.
  • Welche Befehle Sie vor dem Befehl eingegeben haben.
  • Wie oft Sie den Befehl ausführen.
  • Als Sie den Befehl zuletzt ausgeführt haben.
  • Wenn Sie den Befehl zuvor in McFly ausgewählt haben.
  • Der historische Beendigungsstatus des Befehls. Weil Sie wahrscheinlich keine alten fehlgeschlagenen Befehle ausführen möchten, oder?

McFly verwaltet Ihre standardmäßige Bash-Verlaufsdatei, sodass Sie die Verwendung von McFly jederzeit beenden können. McFly ist nicht nur für BASH, sondern auch für andere Shells erweiterbar.

McFly unter Linux installieren

McFly kann mit Linuxbrew unter Linux installiert werden. Wenn Sie Linuxbrew noch nicht installiert haben, sehen Sie sich den folgenden Link an.

  • Linuxbrew – Ein gemeinsamer Paketmanager für Linux und Mac OS X

Führen Sie nach der Installation von Linuxbrew die folgenden Befehle aus, um McFly zu installieren:

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

Nachdem die Installation abgeschlossen ist, sehen Sie die folgende Ausgabe.

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

Mcfly unter Linux installieren

Wie Sie sehen können, müssen wir noch einen Schritt tun, bevor wir McFly verwenden können.

Fügen Sie die folgenden Zeilen zu Ihrer ~/.bashrc hinzu Datei:

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

Führen Sie abschließend den folgenden Befehl aus, um die Effektänderungen zu übernehmen:

$ source ~/.bashrc

Ihr BASH-Verlauf wird in die McFly-Datenbank importiert, wenn Sie diesen Befehl zum ersten Mal ausführen. Je nach Größe Ihrer Bash-Verlaufsdatei dauert es einige Augenblicke. Sobald der Import abgeschlossen ist, sehen Sie die folgende Meldung.

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

Sie können McFly jetzt verwenden.

Bash-Verlauf mit McFly durchsuchen

Um Ihren Befehlsverlauf zu durchsuchen, geben Sie einfach „mcfly search“ gefolgt von dem Teil des Befehlsnamens ein und drücken Sie die EINGABETASTE. Mcfly zeigt die Befehlsvorschläge basierend auf der Suchanfrage an, die Sie gerade eingeben.

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

Zum Beispiel gebe ich den folgenden Befehl ein:

$ mcfly search mk

Hier ist die Beispielausgabe von meinem Ubuntu-Rechner:

Durchsuchen Sie den Bash-Verlauf mit McFly

Wie Sie sehen können, habe ich den Befehl „mkdir“ zweimal verwendet. Wenn Sie einen Befehl aus der Vorschlagsliste ausführen möchten, verwenden Sie einfach UP/DOWN Pfeile, um es auszuwählen, und drücken Sie die EINGABETASTE, um es sofort auszuführen. Wenn Sie einen Befehl bearbeiten möchten, wählen Sie ihn aus und drücken Sie TAB Taste, um es zurück zu Ihrem Terminal zu bringen und dann zu bearbeiten, bevor Sie es ausführen. Um den ausgewählten Befehl aus dem Verlauf zu löschen, drücken Sie einfach F2 .

Geben Sie alternativ den folgenden Befehl ein, um die Verlaufssuche zu öffnen, und geben Sie dann einen beliebigen Befehl oder einen Teil des Befehls ein, um die Vorschläge aus Ihrem Verlauf anzuzeigen.

$ mcfly search

McFly zeigt die Befehlsvorschläge während der Eingabe an.

Hier ist eine kurze Videodemonstration von McFly:

McFly in Aktion

Hilfe anzeigen:

$ mcfly --help

Empfohlene Lektüre:

  • HSTR – Einfaches Anzeigen, Navigieren, Durchsuchen und Verwalten Ihres Befehlszeilenverlaufs
  • Pick – Ein Befehlszeilen-Fuzzy-Suchwerkzeug für Linux
  • So löschen Sie einen bestimmten Befehl aus dem Bash-Verlauf in Linux

McFly entfernen

Mag McFly nicht, kein Problem! Entfernen Sie es mit den folgenden Befehlen:

$ brew uninstall mcfly
$ brew untap cantino/mcfly

Entfernen Sie abschließend die zuvor hinzugefügten Zeilen aus ~/.bashrc Datei.


Linux
  1. Bash-Tipps für den Alltag an der Kommandozeile

  2. So löschen Sie einen bestimmten Befehl aus dem Bash-Verlauf in Linux

  3. Linux-Verlaufsbefehl

  4. So deaktivieren Sie die Bearbeitung meines Verlaufs in Bash

  5. Bash-Exportbefehl

Bash-Wartebefehl

Verlaufsbefehl in Linux (Bash-Verlauf)

Bash-printf-Befehl

So zeigen Sie den Bash-Verlauf ohne Zeilennummern an

So aktivieren Sie den Zeitstempel im Bash-Verlauf unter Linux

Verwendung der Verlaufsfunktion in Bash Shell auf Ubuntu 16.04 LTS-Server