最快捷的Linux命令查詢工具:「我該怎么做XX」,一句話返回指南
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
無論你是Linux萌新用戶還是老司機(jī),使用命令行總會遇到不懂的問題。
遇到問題要么去論壇詢問、谷歌搜索,要么查自帶命令手冊(RTFM),過程耗時,結(jié)果也不直觀。
一位印度軟件工程師針對這一難題,開發(fā)了一個便捷的命令行操作指南Q&A工具howdoi。
直接在終端輸入「how do i +你要問的問題」,這里的問題不再是復(fù)雜的命令選項,而是普通的自然語言,和你去谷歌搜索沒什么兩樣。
然后howdoi馬上就能返回詳細(xì)操作教程,實現(xiàn)了用日常對話的形式來查詢Linux交互命令。

這么好用的工具安裝起來也不復(fù)雜。
安裝步驟
安裝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 代表返回的解答數(shù)量(默認(rèn)為1),-v表示返回完整解答(默認(rèn)情況只返回相關(guān)代碼),-h為顯示此問題的幫助信息。
操作實例
快速查詢教程
輸入問題「如何解壓bz2文件?」:
- $ howdoi extract a bz2 file
返回結(jié)果:
- -j, —bzip2 filter the archive through bzip2 tar -xvjf enginsxt.tar.bz2Source: https://askubuntu.com/questions/707861/how-to-extract-tar-bz2
howdoi不僅給出了命令的使用方法,還給出了這個問題的來源網(wǎng)址。
詳細(xì)教程查詢:
輸入問題「如何把一個程序添加到cron中?」:
- $ howdoi -v add a program to cron
返回結(jié)果:
- 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…snipSource: https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job
對于這樣一個有延伸拓展的問題,返回結(jié)果除了有基本的操作指導(dǎo),還有關(guān)于這個問題進(jìn)一步的建議。
返回多個結(jié)果
輸入問題「如何鏈接屏幕?」,要求2個返回結(jié)果:
- $ howdoi -n 2 attach to a screen
返回:
- screenscreen -S myprogramrunningunderscreenscreen -lsThere 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-sessionscreen -d -rSource: https://askubuntu.com/questions/302662/reattaching-to-an-existing-screen-session
這個例子中,在命令中要求返回2個結(jié)果,系統(tǒng)返回也給出了兩種連接不同屏幕的方法。
其他功能
還可以查詢?nèi)绾胃翽HP:
- $ howdoi upgrade to latest phpsudo 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-upgradeSource: https://askubuntu.com/questions/565784/how-do-i-upgrade-php-version-to-the-latest-stable-released-version
howdoi工具調(diào)用的解答庫來源于askbuntu.com論壇上的提問,論壇上已有的問題解答都可以通過本工具實現(xiàn)對話式查詢。
5月19日,這個項目剛剛在Github上開源。
顯卡驅(qū)動、硬件支持、圖形平臺穩(wěn)定、用戶體驗、軟件支持、社區(qū)協(xié)作,這些小問題疊加在一起,成了誰都無法忽視的Linux缺陷,這些痛點也許就是讓新用戶望而生畏的真正原因。
本項目在Hacker news上收獲了網(wǎng)友的盛贊,其中有一位用戶在稱贊之余,還指出了像Linux這種類Unix系統(tǒng)的通?。河脩粲押眯圆睿@取幫助十分困難。

這位印度小哥San Kumar解決了一個大問題:Linux新手無法高效獲取問題的解決方案,而且整個工具只用了100行代碼實現(xiàn)。
同時這位用戶還建議這種實用工具今后應(yīng)該作為標(biāo)準(zhǔn),加入所有類Unix操作系統(tǒng)的衍生版本。
如果這個Linux利器對你有幫助的話,可以直接通過文中的代碼下載,項目原址在下方。
Github項目地址:
https://github.com/san-kumar/howdoi