最快捷的Linux命令查询工具来了:「我该怎么做XX」,一句话自动返回操作指南

简介: 云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 无论你是Linux萌新用户还是老司机,使用命令行总会遇到不懂的问题。 遇到问题要么去论坛询问、谷歌搜索,要么查自带命令手册(RTFM),过程耗时,结果也不直观。

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!


无论你是Linux萌新用户还是老司机,使用命令行总会遇到不懂的问题。

遇到问题要么去论坛询问、谷歌搜索,要么查自带命令手册(RTFM),过程耗时,结果也不直观。

1

一位印度软件工程师针对这一难题,开发了一个便捷的命令行操作指南Q&A工具howdoi。

直接在终端输入「how do i +你要问的问题」,这里的问题不再是复杂的命令选项,而是普通的自然语言,和你去谷歌搜索没什么两样。

然后howdoi马上就能返回详细操作教程,实现了用日常对话的形式来查询Linux交互命令

2

这么好用的工具安装起来也不复杂。

安装步骤

安装howdoi只要两步,还需要PHP 5.0以上版本。

运行下方命令即可完成安装:

$ 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 [-n -v -h] — question

其中,-n 代表返回的解答数量(默认为1),-v表示返回完整解答(默认情况只返回相关代码),-h为显示此问题的帮助信息。

操作实例

快速查询教程

输入问题「如何解压bz2文件?」:

$ 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

howdoi不仅给出了命令的使用方法,还给出了这个问题的来源网址。

详细教程查询:

输入问题「如何把一个程序添加到cron中?」:

$ howdoi -v add a program to cron

返回结果:

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

对于这样一个有延伸拓展的问题,返回结果除了有基本的操作指导,还有关于这个问题进一步的建议。

返回多个结果

输入问题「如何链接屏幕?」,要求2个返回结果:

$ 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

这个例子中,在命令中要求返回2个结果,系统返回也给出了两种连接不同屏幕的方法。

其他功能

还可以查询如何更新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论坛上的提问,论坛上已有的问题解答都可以通过本工具实现对话式查询。

5月19日,这个项目刚刚在Github上开源。

显卡驱动、硬件支持、图形平台稳定、用户体验、软件支持、社区协作,这些小问题叠加在一起,成了谁都无法忽视的Linux缺陷,这些痛点也许就是让新用户望而生畏的真正原因。

本项目在Hacker news上收获了网友的盛赞,其中有一位用户在称赞之余,还指出了像Linux这种类Unix系统的通病:用户友好性差,获取帮助十分困难。

5

这位印度小哥San Kumar解决了一个大问题:Linux新手无法高效获取问题的解决方案,而且整个工具只用了100行代码实现。

同时这位用户还建议这种实用工具今后应该作为标准,加入所有类Unix操作系统的衍生版本。

如果这个Linux利器对你有帮助的话,可以直接通过文中的代码下载。

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-06-17
本文作者:贾浩楠
本文来自:“量子位公众号”,了解相关信息可以关注“公众号 QbitAI”

相关文章
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
19 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
3天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
18 3
|
6天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
31 6
|
11天前
|
缓存 监控 Linux
|
14天前
|
Linux Shell 数据安全/隐私保护
|
15天前
|
域名解析 网络协议 安全
|
21天前
|
运维 监控 网络协议