vlambda博客
学习文章列表

真香!Linux命令查询神器来了,像用搜索引擎一样优雅地查找命令

关注上方 Python数据科学”, 选择星标,
关键时间,第一时间送达!
本文转自 GitHuboy

对于Linux小白最头疼的问题是不知道改用什么命令,或者经常忘记命令。虽然 Linux自带了一些帮助命令,比如使用help、man、info,但对于 一个小白来说真的不是那么好用。

一般情况下,就是切出终端,奔去谷歌和度娘疯狂找解答了。

boy哥给大家分享一款实用的开源项目工具: howdoi ,它是由一位叫San Kumar的印度小哥开发的,是一个便捷的命令行操作指南Q&A工具。

使用它你可以像在搜索引擎里一样查找问题了,无需记住命令,直接敲你想要解决的问题就行。

先看一下装X的效果。

看到了吧,有一点人工智能的感觉。终端直接敲: howdoi + 问题 ,可立即获得常见 Linux 相关问题的解决方案

如何安装?

按下面的命令在终端敲进去就好了,但需要PHP5+的依赖环境。
 
   
   
 
$  mkdir -p ~/bin && wget https://raw.githubusercontent.com/san-kumar/howdoi/master/howdoi -O ~/bin/howdoi && chmod +x ~/bin/howdoi
$  sudo ln -s ~/bin/howdoi /usr/local/bin/howdoi

$
 howdoi check my linux version

何使用

很简单,只需要记住四个参数,然后加上我们的问题,像下面这个格式。
howdoi [-n -v -h -i] -- 问题
 
   
   
 
-n:结果数量(默认为1)

-v:显示完整答案(否则只显示代码)

-i:交互式或 REPL 模式(用于热键绑定)

-h:帮助
下面举几个不同用法的案例。

1、快速查找信息

如果快速查找,那就直接上问题就是结果稍微简陋点。
 
   
   
 
$  howdoi extract a bz2 file

  -j, --bzip2
            filter the archive through bzip2
  tar -xvjf enginsxt.tar.bz2
  
  Source: https://askubuntu.com/questions/707861/how-to-extract-tar-bz2

2、显示详细信息

如果想要完整信息,那就加上-v参数。
 
   
   
 
$  howdoi -v add a program to cron

  Put a shell script in one of these folders: /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly or /etc/cron.weekly. 
  
  If these are not enough for you, you can add more specific tasks e.g. twice a month or every 5 minutes. Go to the terminal and type:
  
  crontab -e
  
 ...snip
  
  Source: https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job

3、返回多个结果

如果想要查看多个结果对比,就加上 -n 和数量
 
   
   
 
$  howdoi -n 2 attach to a screen

 screen
 screen -S myprogramrunningunderscreen
 screen -ls

There are screens on:
    4964.myprogramrunningunderscreen    (05/31/2013 09:42:29 PM)    (Detached)
    4874.pts-1.creeper  (05/31/2013 09:39:12 PM)    (Detached)

Source: https://askubuntu.com/questions/302662/reattaching-to-an-existing-screen-session

  screen -d -r

Source: https://askubuntu.com/questions/302662/reattaching-to-an-existing-screen-session

4、其它相关

其它的还可以查看编程用法。
 
   
   
 
$  howdoi js hex to int
  hexString = yourNumber.toString(16);
  yourNumber = parseInt(hexString, 16);
  
  Source: https://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hexadecimal-in-javascript
再比如,还可以 查看如何升级php。
 
   
   
 
$  howdoi upgrade to latest php

  sudo apt-get upgrade
  sudo apt-get dist-upgrade
  sudo apt-add-repository ppa:ondrej/php
  sudo apt-add-repository ppa:ondrej/php5-oldstable
  sudo apt-add-repository ppa:ondrej/php5
  sudo apt-add-repository ppa:ondrej/php5-5.6
  sudo apt-get update
  sudo apt-get install php5.5
  sudo apt-get install php5.6
  sudo apt-get install php7.0
  do-release-upgrade
  Source: https://askubuntu.com/questions/565784/how-do-i-upgrade-php-version-to-the-latest-stable-released-version

howdoi工具调用的解答库来源于askbuntu.com论坛上的提问,论坛上已有的问题解答都可以通过本工具实现对话式查询。

https://github.com/san-kumar/howdoi


- 完 -

推荐阅读



文末留言赠书! 24小时点赞最多的走心留言获得此书,禁止恶意刷赞。

本书从模型与数学的角度来理解GAN 变体,希望通过数学符号表达出不同GAN 变体的核心思想,适合人工智能、机器学习、计算机视觉相关专业的人员学习使用。