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.