GNU/Linux >> Znalost Linux >  >> Linux

Jak procházet přetečení zásobníku z terminálu

Před chvílí jsme psali o SoCLI , Python skript pro vyhledávání a procházení webu Stack Overflow z příkazového řádku. Dnes budeme diskutovat o podobném nástroji s názvem "how2" . Je to nástroj příkazového řádku pro procházení Stack Overflow z Terminálu. Můžete se dotazovat v jednoduché angličtině stejně jako ve vyhledávání Google a pro vyhledávání daných dotazů používá Google a Stackoverflow API. Je to bezplatný a open source nástroj napsaný pomocí NodeJS .

Procházet přetečení zásobníku z terminálu pomocí how2

Protože how2 je balíček NodeJS, můžeme jej nainstalovat pomocí Npm správce balíčků. Pokud jste ještě nenainstalovali Npm a NodeJS, podívejte se na následující průvodce.

  • Jak nainstalovat NodeJS na Linux

Po instalaci Npm a NodeJS spusťte následující příkaz k instalaci nástroje how2.

$ npm install -g how2

Nyní se podívejme, jak procházet Stack Overflow pomocí tohoto programu. Typické použití pro vyhledávání na webu Stack Overflow pomocí nástroje „how2“ je:

$ how2 <search-query>

Například budu hledat, jak vytvořit archiv tgz.

$ how2 create archive tgz

Jejda! Zobrazuje se mi následující chyba.

/home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/transport.js:59
Transport.prototype.__proto__ = EventEmitter.prototype;
 ^

 TypeError: Cannot read property 'prototype' of undefined
 at Object.<anonymous> (/home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/transport.js:59:46)
 at Module._compile (internal/modules/cjs/loader.js:654:30)
 at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
 at Module.load (internal/modules/cjs/loader.js:566:32)
 at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
 at Function.Module._load (internal/modules/cjs/loader.js:498:3)
 at Module.require (internal/modules/cjs/loader.js:598:17)
 at require (internal/modules/cjs/helpers.js:11:18)
 at Object.<anonymous> (/home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/stream.js:8:17)
 at Module._compile (internal/modules/cjs/loader.js:654:30)

Může to být chyba. Doufám, že to bude opraveno v budoucích verzích. Našel jsem však řešení zveřejněné zde .

Chcete-li tuto chybu dočasně opravit, musíte upravit transport.js soubor pomocí příkazu:

$ vi /home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/transport.js

Skutečná cesta k tomuto souboru se zobrazí ve vašem chybovém výstupu. Nahraďte výše uvedenou cestu k souboru svou vlastní. Poté najděte následující řádek:

var EventEmitter = process.EventEmitter;

a nahraďte jej následujícím řádkem:

var EventEmitter = require('events');

Stiskněte ESC a zadejte :wq pro uložení a ukončení souboru.

Nyní znovu vyhledejte dotaz.

$ how2 create archive tgz

Zde je ukázkový výstup z mého systému Ubuntu.

Procházet přetečení zásobníku z terminálu

Pokud odpověď, kterou hledáte, není ve výše uvedeném výstupu zobrazena, stiskněte MEZERNÍK klávesu ke spuštění interaktivního vyhledávání, kde si můžete projít všechny navrhované otázky a odpovědi ze stránky Stack Overflow.

Mezi výsledky se můžete pohybovat pomocí šipek NAHORU/DOLŮ. Jakmile dostanete správnou odpověď/otázku, stiskněte MEZERNÍK nebo ENTER a otevřete ji v Terminálu.

Chcete-li se vrátit a ukončit, stiskněte ESC .

Hledejte odpovědi pro konkrétní jazyk

Pokud neurčíte jazyk, výchozí nastavení je Bash unixový příkazový řádek a okamžitě vám poskytne nejpravděpodobnější odpověď, jak je uvedeno výše. Výsledky můžete také zúžit na konkrétní jazyk, například perl, python, c, Java atd.

Chcete-li například vyhledávat dotazy související s jazykem "Python" pouze pomocí -l příznak, jak je znázorněno níže.

$ how2 -l python linked list

Chcete-li získat rychlou pomoc, zadejte:

$ how2 -h

Závěr

Obslužný program how2 je základní program příkazového řádku pro rychlé vyhledávání otázek a odpovědí z Stack Overflow, aniž byste opustili svůj terminál, a tuto práci dělá docela dobře. Je to však pouze prohlížeč CLI pro přetečení zásobníku. Pro některé pokročilé funkce, jako je vyhledávání nejvíce hlasovaných otázek, vyhledávání dotazů pomocí více značek, barevné rozhraní, odesílání nové otázky a prohlížení statistik otázek atd., SoCLI je dobré jít.

A to je zatím vše. Doufám, že to bylo užitečné. Brzy tu budu s dalším užitečným průvodcem. Do té doby zůstaňte naladěni na OSTechNix!

Na zdraví!


Linux
  1. Jak se okamžitě odhlásit z Ubuntu z terminálu

  2. Jak posílat úhozy (f5) z terminálu do programu Gui?

  3. Jak spustit skript .sh z libovolné cesty v terminálu?

  1. Journalctl:Jak zabránit zkrácení textu v terminálu?

  2. Jak nakonfigurovat Firefox z terminálu?

  3. Jak otevřít konkrétní soubor z terminálu?

  1. Jak používat SSMTP k odeslání e-mailu z terminálu Linux

  2. Jak najdu konkrétní soubor z terminálu Linux?

  3. Jak odstraním složky pomocí regex z terminálu Linux