GNU/Linux >> Tutoriels Linux >  >> Linux

Comment parcourir le débordement de pile à partir du terminal

Il y a quelque temps, nous avons écrit sur SoCLI , un script Python pour rechercher et parcourir le site Web Stack Overflow à partir de la ligne de commande. Aujourd'hui, nous allons discuter d'un outil similaire nommé "how2" . Il s'agit d'un utilitaire de ligne de commande pour parcourir Stack Overflow depuis Terminal. Vous pouvez interroger en langage clair comme vous le faites dans la recherche Google et il utilise les API Google et Stackoverflow pour rechercher les requêtes données. Il s'agit d'un utilitaire gratuit et open source écrit à l'aide de NodeJS .

Parcourir le débordement de pile depuis le terminal à l'aide de how2

Puisque how2 est un package NodeJS, nous pouvons l'installer en utilisant Npm directeur chargé d'emballage. Si vous n'avez pas encore installé Npm et NodeJS, consultez le guide suivant.

  • Comment installer NodeJS sur Linux

Après avoir installé Npm et NodeJS, exécutez la commande suivante pour installer l'utilitaire how2.

$ npm install -g how2

Voyons maintenant comment parcourir Stack Overflow en utilisant ce programme. L'utilisation typique pour effectuer une recherche sur le site Stack Overflow à l'aide de l'utilitaire "how2" est la suivante :

$ how2 <search-query>

Par exemple, je vais chercher comment créer une archive tgz.

$ how2 create archive tgz

Oups! J'obtiens l'erreur suivante.

/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)

C'est peut-être un bug. J'espère que cela sera corrigé dans les futures versions. Cependant, je trouve une solution de contournement postée ici .

Pour corriger temporairement cette erreur, vous devez modifier le transport.js fichier en utilisant la commande :

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

Le chemin réel de ce fichier sera affiché dans votre sortie d'erreur. Remplacez le chemin du fichier ci-dessus par le vôtre. Recherchez ensuite la ligne suivante :

var EventEmitter = process.EventEmitter;

et remplacez-le par la ligne suivante :

var EventEmitter = require('events');

Appuyez sur ÉCHAP et tapez :wq pour enregistrer et quitter le fichier.

Maintenant, recherchez à nouveau la requête.

$ how2 create archive tgz

Voici l'exemple de sortie de mon système Ubuntu.

Parcourir le débordement de pile depuis le terminal

Si la réponse que vous recherchez ne s'affiche pas dans la sortie ci-dessus, appuyez sur la BARRE D'ESPACE clé pour démarrer la recherche interactive où vous pouvez parcourir toutes les questions et réponses suggérées sur le site Stack Overflow.

Utilisez les flèches HAUT/BAS pour vous déplacer entre les résultats. Une fois que vous avez obtenu la bonne réponse/question, appuyez sur la BARRE D'ESPACE ou la touche ENTRÉE pour l'ouvrir dans le terminal.

Pour revenir en arrière et quitter, appuyez sur ESC .

Rechercher des réponses pour une langue spécifique

Si vous ne spécifiez pas de langue, il est bash par défaut ligne de commande unix et vous donne immédiatement la réponse la plus probable comme ci-dessus. Vous pouvez également restreindre les résultats à un langage spécifique, par exemple perl, python, c, Java, etc.

Par exemple, pour rechercher des requêtes liées au langage "Python" uniquement en utilisant -l drapeau comme indiqué ci-dessous.

$ how2 -l python linked list

Pour obtenir une aide rapide, tapez :

$ how2 -h

Conclusion

L'utilitaire how2 est un programme de ligne de commande de base pour rechercher rapidement des questions et des réponses à partir de Stack Overflow sans quitter votre terminal et il fait plutôt bien ce travail. Cependant, il ne s'agit que d'un navigateur CLI pour le débordement de Stack. Pour certaines fonctionnalités avancées telles que la recherche des questions les plus votées, la recherche de requêtes à l'aide de plusieurs balises, une interface colorée, la soumission d'une nouvelle question et l'affichage des statistiques des questions, etc., SoCLI c'est bon d'y aller.

Et, c'est tout pour le moment. J'espère que cela a été utile. Je serai bientôt ici avec un autre guide utile. Jusque-là, restez à l'écoute avec OSTechNix !

Santé !


Linux
  1. Comment se déconnecter instantanément d'Ubuntu à partir d'un terminal

  2. Comment rechercher sur le Web à partir d'un terminal sous Linux

  3. Comment envoyer des frappes (f5) du terminal à un programme Gui ?

  4. Comment configurer Firefox à partir du terminal ?

  5. Comment utiliser SSMTP pour envoyer un e-mail à partir d'un terminal Linux

Comment utiliser l'outil de compression 7zip à partir du terminal Linux

Comment rechercher des fichiers à partir du terminal sous Linux

Comment installer XAMPP Stack sur Ubuntu 16.04 à partir du terminal

Rechercher et parcourir le site Web Stack Overflow à partir de la ligne de commande

Comment se connecter au WiFi depuis le terminal dans Ubuntu Linux

comment tracer stdin depuis le terminal?