GNU/Linux >> Znalost Linux >  >> Linux

McFly – náhrada funkce „Ctrl+R“ vyhledávání historie Bash

Většina z vás už určitě použila nebo slyšela o zpětném vyhledávání funkce v BASH. Klávesová zkratka pro zpětné vyhledávání v Bash je Ctrl+r . Pomocí zpětného vyhledávání bash můžeme vyvolat všechny příkazy, které jsme dříve provedli, aniž bychom je museli pokaždé znovu zadávat. Můžete samozřejmě použít šipky NAHORU/DOLŮ pro vyhledávání v historii bash. Ctrl+r však tento proces výrazně usnadní a urychlí. Dnes jsem narazil na náhradu funkce vyhledávání historie Bash 'Ctrl+r'. Seznamte se s "McFly" , jednoduchý nástroj napsaný v Rust programovací jazyk, který nahrazuje výchozí Ctrl+r vyhledávání historie Bash inteligentním vyhledávačem. Všechny návrhy příkazů vytvořené společností McFly jsou upřednostňovány v reálném čase pomocí malé neuronové sítě .

McFly znovu spojuje funkci Ctrl+r, aby vyvolal všechny nedávno provedené příkazy z vaší historie Bash. Rozšiřuje vaši historii shellu sledováním následujícího:

  • Stav ukončení příkazu,
  • časové razítko (při spuštění příkazu),
  • a spouštěcí adresář (kde příkaz spustíte).

Ukládá všechny podrobnosti o sledování do databáze SQLite. Protože sleduje historický stav ukončení příkazu, můžete staré neúspěšné příkazy jednoduše ignorovat.

Při navrhování příkazu McFly zvažuje následující skutečnosti:

  • Ve kterém adresáři jste příkaz spustili. Pravděpodobně budete tento příkaz v budoucnu opakovat ve stejném adresáři.
  • Jaké příkazy jste zadali před příkazem.
  • Jak často příkaz spouštíte.
  • Když jste naposledy spustili příkaz.
  • Pokud jste již dříve vybrali příkaz v McFly.
  • Historický stav ukončení příkazu. Protože asi nechcete spouštět staré neúspěšné příkazy, že?

McFly udržuje váš výchozí soubor historie Bash, takže můžete kdykoli přestat používat McFly. McFly není jen pro BASH, je také rozšiřitelný pro další mušle.

Nainstalujte McFly v Linuxu

McFly lze nainstalovat pomocí Linuxbrew na Linuxu. Pokud jste Linuxbrew ještě nenainstalovali, přejděte na následující odkaz.

  • Linuxbrew – Společný správce balíčků pro Linux a Mac OS X

Po instalaci Linuxbrew spusťte následující příkazy pro instalaci McFly:

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

Po dokončení instalace uvidíte následující výstup.

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

Nainstalujte mcfly v Linuxu

Jak vidíte, musíme udělat ještě jeden krok, než začneme používat McFly.

Přidejte následující řádky do ~/.bashrc soubor:

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

Nakonec spusťte následující příkaz pro provedení změn:

$ source ~/.bashrc

Vaše historie BASH bude importována do databáze McFly, když tento příkaz spustíte poprvé. Bude to chvíli trvat v závislosti na velikosti vašeho souboru historie bash. Po dokončení importu se zobrazí následující zpráva.

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

Nyní můžete začít používat McFly.

Prohledávejte historii bash pomocí McFly

Chcete-li prohledávat historii příkazů, zadejte „mcfly search“ následovaný částí názvu příkazu a stiskněte klávesu ENTER. Mcfly zobrazí návrhy příkazů na základě vyhledávacího dotazu, který právě zadáte.

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

Například napíšu následující příkaz:

$ mcfly search mk

Zde je ukázkový výstup z mého počítače Ubuntu:

Prohledávejte historii bash pomocí McFly

Jak můžete vidět, použil jsem příkaz 'mkdir' dvakrát. Pokud chcete spustit příkaz ze seznamu návrhů, stačí použít NAHORU/DOLŮ šipkami jej vyberte a stiskněte ENTER pro okamžité spuštění. Pokud chcete upravit příkaz, vyberte jej a stiskněte TAB klíč, abyste jej vrátili zpět do svého terminálu a poté jej před spuštěním upravte. Chcete-li odstranit vybraný příkaz z historie, stačí stisknout F2 .

Případně zadejte následující příkaz pro otevření vyhledávání v historii a poté zadejte libovolný příkaz nebo část příkazu pro zobrazení návrhů z vaší historie.

$ mcfly search

McFly bude během psaní zobrazovat návrhy příkazů.

Zde je krátká video ukázka McFly:

McFly v akci

Zobrazit nápovědu:

$ mcfly --help

Doporučené čtení:

  • HSTR – snadné zobrazení, navigace, vyhledávání a správa historie příkazového řádku
  • Pick – fuzzy vyhledávací nástroj příkazového řádku pro Linux
  • Jak vymazat konkrétní příkaz z historie Bash v Linuxu

Odstranit McFly

Nelíbí se mi McFly, žádný problém! Odeberte jej pomocí následujících příkazů:

$ brew uninstall mcfly
$ brew untap cantino/mcfly

Nakonec z ~/.bashrc odstraňte řádky, které jsme přidali dříve soubor.


Linux
  1. Jak vymazat historii příkazového řádku BASH v Linuxu

  2. Jak vymazat historii Bash na Linuxu

  3. Nejlepší způsob, jak prohledávat historii společnosti Shell?

  1. Jak nechat typ-ahead použít pro vyhledávání v historii Bash (ctrl-r)?

  2. Příkaz historie Linuxu

  3. Spusťte příkaz v bash bez uložení do historie

  1. Bash tipy pro každý den na příkazovém řádku

  2. Jak vymazat konkrétní příkaz z historie Bash v Linuxu

  3. Rozumíte vykřičníku (!) v Bash?