你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Linux利器你知道吗?

[复制链接]
gaosmile 发布时间:2020-7-2 19:15
无论你是Linux萌新用户还是老司机,使用命令行总会遇到不懂的问题。
遇到问题要么去论坛询问、谷歌搜索,要么查自带命令手册(RTFM),过程耗时,结果也不直观。
微信图片_20200702191247.png
一位印度软件工程师针对这一难题,开发了一个便捷的命令行操作指南Q&A工具howdoi。
& a- \  U6 D* f, d4 k; A
直接在终端输入「how do i +你要问的问题」,这里的问题不再是复杂的命令选项,而是普通的自然语言,和你去谷歌搜索没什么两样。
然后howdoi马上就能返回详细操作教程,实现了用日常对话的形式来查询Linux交互命令。
微信图片_20200702191253.gif
这么好用的工具安装起来也不复杂。" M, k3 X/ n# h% f% T& W
安装步骤
安装howdoi只要两步,还需要PHP 5.0以上版本。
运行下方命令即可完成安装:
  1. 1 G+ f! h2 C% Z  }9 W/ H- \
  2. $ mkdir -p ~/bin && wget http://raw.githubusercontent.com/san-kumar/howdoi/master/howdoi -O ~/bin/howdoi && chmod +x ~/bin/howdoi
    : ]' z# P5 M& d
  3. $ 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
返回结果:

  1. ' s' Z) C* @7 K3 Q8 U& j
  2. -j, —bzip2  d  l6 K1 Z3 d0 p5 d2 w
  3.            filter the archive through bzip2
    ) q6 {7 K4 G9 t/ J
  4. tar -xvjf enginsxt.tar.bz2
    + O1 N. b5 Z8 b8 Q& W" E
  5. Source: http://askubuntu.com/questions/707861/how-to-extract-tar-bz2
复制代码

# p: m- L9 Q9 M+ U
howdoi不仅给出了命令的使用方法,还给出了这个问题的来源网址。3 c+ z) q$ B4 e/ ]' r; d
详细教程查询:
输入问题「如何把一个程序添加到cron中?」:
  • $ howdoi -v add a program to cron4 R; F9 D9 {* C0 y+ p
返回结果:

  1. - Z% P; T0 o3 y) Y- `/ ?& }) J
  2. 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: @
  3. 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
  4. crontab -e
    ! o7 f- D, a- \7 g- K
  5. …snip; f3 F* J% n7 X$ c
  6. 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
返回:

  1. / \! Z  @8 p% o% [1 J. C, x
  2. screen
    + Z; i' K/ C2 Y7 c, Z
  3. screen -S myprogramrunningunderscreen
    & L  y6 o* i# s9 I
  4. screen -ls* }7 @6 F, Z7 l4 y1 _
  5. There are screens on:: M& L- \0 f1 S* d2 Z% U# x, f) a1 i
  6.    4964.myprogramrunningunderscreen    (05/31/2013 09:42:29 PM)    (Detached)
    ; T- g0 g3 N/ g3 s7 N% y1 l2 b
  7.    4874.pts-1.creeper  (05/31/2013 09:39:12 PM)    (Detached). E9 [. h/ }1 W3 f  W1 R" ?1 g
  8. Source: http://askubuntu.com/questions/302662/reattaching-to-an-existing-screen-session
    $ I7 z- h& j' Z. [! ?
  9. ; |- [% n' k3 |; O
  10. screen -d -r$ l" @- {& o: s, i
  11. Source: http://askubuntu.com/questions/302662/reattaching-to-an-existing-screen-session
复制代码

2 i! A! s8 A( e
7 B$ p' F7 j2 Z
这个例子中,在命令中要求返回2个结果,系统返回也给出了两种连接不同屏幕的方法。
其他功能
还可以查询如何更新PHP:
  1. 1 m5 H1 C5 G  \; d" W$ F
  2. $ howdoi upgrade to latest php
    / ]. o9 U8 a6 r6 _, h+ I
  3. sudo apt-get upgrade  `3 b% r2 a6 A, x' n0 B0 n( k
  4. sudo apt-get dist-upgrade; l- m7 a3 r1 X
  5. sudo apt-add-repository ppa:ondrej/php1 Z  g/ R6 k6 ]; @7 c- Z
  6. sudo apt-add-repository ppa:ondrej/php5-oldstable+ T- p0 e4 P0 x9 u  f
  7. sudo apt-add-repository ppa:ondrej/php5
    ' S  x& f% M" H$ j! p; y7 p3 @( ]9 V5 k
  8. sudo apt-add-repository ppa:ondrej/php5-5.6
    ; l2 w* e" A; ?
  9. sudo apt-get update9 h# Q3 ]' X# q' t7 `
  10. sudo apt-get install php5.5
    - b0 V0 F( a$ ^6 X
  11. sudo apt-get install php5.6
    ! ~5 ?$ e, d9 {
  12. sudo apt-get install php7.0
    & V, F9 }+ q- ^+ K  H
  13. do-release-upgrade6 s- w) y5 `2 _& U0 @  _& T( S1 u
  14. 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系统的通病:用户友好性差,获取帮助十分困难。
微信图片_20200702191256.png
这位印度小哥San Kumar解决了一个大问题:Linux新手无法高效获取问题的解决方案,而且整个工具只用了100行代码实现。
同时这位用户还建议这种实用工具今后应该作为标准,加入所有类Unix操作系统的衍生版本。
如果这个Linux利器对你有帮助的话,可以直接通过文中的代码下载,项目原址在下方。
Github项目地址:
) }) u0 P) A! P& S- z
http://github.com/san-kumar/howdoi
赞 收藏 评论0 发布时间:2020-7-2 19:15

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版