|
无论你是Linux萌新用户还是老司机,使用命令行总会遇到不懂的问题。 遇到问题要么去论坛询问、谷歌搜索,要么查自带命令手册(RTFM),过程耗时,结果也不直观。 一位印度软件工程师针对这一难题,开发了一个便捷的命令行操作指南Q&A工具howdoi。
& a- \ U6 D* f, d4 k; A 直接在终端输入「how do i +你要问的问题」,这里的问题不再是复杂的命令选项,而是普通的自然语言,和你去谷歌搜索没什么两样。 然后howdoi马上就能返回详细操作教程,实现了用日常对话的形式来查询Linux交互命令。 这么好用的工具安装起来也不复杂。" M, k3 X/ n# h% f% T& W
安装步骤安装howdoi只要两步,还需要PHP 5.0以上版本。 运行下方命令即可完成安装: - 1 G+ f! h2 C% Z }9 W/ H- \
- $ mkdir -p ~/bin && wget http://raw.githubusercontent.com/san-kumar/howdoi/master/howdoi -O ~/bin/howdoi && chmod +x ~/bin/howdoi
: ]' z# P5 M& d - $ sudo ln -s ~/bin/howdoi /usr/local/bin/howdoi
复制代码 ) o L1 N$ R$ \ Q6 a
在使用时,有几个实用的命令字符:
. x6 H% q1 k$ |, ]% @ howdoi [-n -v -h] — question 其中,-n 代表返回的解答数量(默认为1),-v表示返回完整解答(默认情况只返回相关代码),-h为显示此问题的帮助信息。 操作实例快速查询教程输入问题「如何解压bz2文件?」: - $ howdoi extract a bz2 file# V3 X: ?4 k- @4 ~7 o) a
返回结果:
' s' Z) C* @7 K3 Q8 U& j- -j, —bzip2 d l6 K1 Z3 d0 p5 d2 w
- filter the archive through bzip2
) q6 {7 K4 G9 t/ J - tar -xvjf enginsxt.tar.bz2
+ O1 N. b5 Z8 b8 Q& W" E - Source: http://askubuntu.com/questions/707861/how-to-extract-tar-bz2
复制代码
# p: m- L9 Q9 M+ Uhowdoi不仅给出了命令的使用方法,还给出了这个问题的来源网址。3 c+ z) q$ B4 e/ ]' r; d
详细教程查询:输入问题「如何把一个程序添加到cron中?」: - $ howdoi -v add a program to cron4 R; F9 D9 {* C0 y+ p
返回结果:
- Z% P; T0 o3 y) Y- `/ ?& }) J- Put a shell script in one of these folders: /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly or /etc/cron.weekly.' `" r* n3 E Z: @
- 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:
: `6 n7 n2 R8 m- f( [: _0 \% d/ F, n! F - crontab -e
! o7 f- D, a- \7 g- K - …snip; f3 F* J% n7 X$ c
- Source: http://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job
复制代码 # `1 [9 { N4 `8 m/ B
对于这样一个有延伸拓展的问题,返回结果除了有基本的操作指导,还有关于这个问题进一步的建议。 返回多个结果输入问题「如何链接屏幕?」,要求2个返回结果: - $ howdoi -n 2 attach to a screen
9 A2 V1 ]* _# D! C7 z( { O' v- a2 v
返回:
/ \! Z @8 p% o% [1 J. C, x- screen
+ Z; i' K/ C2 Y7 c, Z - screen -S myprogramrunningunderscreen
& L y6 o* i# s9 I - screen -ls* }7 @6 F, Z7 l4 y1 _
- There are screens on:: M& L- \0 f1 S* d2 Z% U# x, f) a1 i
- 4964.myprogramrunningunderscreen (05/31/2013 09:42:29 PM) (Detached)
; T- g0 g3 N/ g3 s7 N% y1 l2 b - 4874.pts-1.creeper (05/31/2013 09:39:12 PM) (Detached). E9 [. h/ }1 W3 f W1 R" ?1 g
- Source: http://askubuntu.com/questions/302662/reattaching-to-an-existing-screen-session
$ I7 z- h& j' Z. [! ? - ; |- [% n' k3 |; O
- screen -d -r$ l" @- {& o: s, i
- Source: http://askubuntu.com/questions/302662/reattaching-to-an-existing-screen-session
复制代码
2 i! A! s8 A( e7 B$ p' F7 j2 Z
这个例子中,在命令中要求返回2个结果,系统返回也给出了两种连接不同屏幕的方法。 其他功能还可以查询如何更新PHP: - 1 m5 H1 C5 G \; d" W$ F
- $ howdoi upgrade to latest php
/ ]. o9 U8 a6 r6 _, h+ I - sudo apt-get upgrade `3 b% r2 a6 A, x' n0 B0 n( k
- sudo apt-get dist-upgrade; l- m7 a3 r1 X
- sudo apt-add-repository ppa:ondrej/php1 Z g/ R6 k6 ]; @7 c- Z
- sudo apt-add-repository ppa:ondrej/php5-oldstable+ T- p0 e4 P0 x9 u f
- sudo apt-add-repository ppa:ondrej/php5
' S x& f% M" H$ j! p; y7 p3 @( ]9 V5 k - sudo apt-add-repository ppa:ondrej/php5-5.6
; l2 w* e" A; ? - sudo apt-get update9 h# Q3 ]' X# q' t7 `
- sudo apt-get install php5.5
- b0 V0 F( a$ ^6 X - sudo apt-get install php5.6
! ~5 ?$ e, d9 { - sudo apt-get install php7.0
& V, F9 }+ q- ^+ K H - do-release-upgrade6 s- w) y5 `2 _& U0 @ _& T( S1 u
- Source: http://askubuntu.com/questions/565784/how-do-i-upgrade-php-version-to-the-latest-stable-released-version
复制代码 $ Q6 s$ x/ Z( r' d
howdoi工具调用的解答库来源于askbuntu.com论坛上的提问,论坛上已有的问题解答都可以通过本工具实现对话式查询。 5月19日,这个项目刚刚在Github上开源。 显卡驱动、硬件支持、图形平台稳定、用户体验、软件支持、社区协作,这些小问题叠加在一起,成了谁都无法忽视的Linux缺陷,这些痛点也许就是让新用户望而生畏的真正原因。 本项目在Hacker news上收获了网友的盛赞,其中有一位用户在称赞之余,还指出了像Linux这种类Unix系统的通病:用户友好性差,获取帮助十分困难。 这位印度小哥San Kumar解决了一个大问题:Linux新手无法高效获取问题的解决方案,而且整个工具只用了100行代码实现。 同时这位用户还建议这种实用工具今后应该作为标准,加入所有类Unix操作系统的衍生版本。 如果这个Linux利器对你有帮助的话,可以直接通过文中的代码下载,项目原址在下方。 Github项目地址:
) }) u0 P) A! P& S- zhttp://github.com/san-kumar/howdoi |