explainshell 這個線上工具可以將一串 Linux 指令分解,並依照 man pages 解釋每個指令與參數的意義,讓你快速了解整行指令的運作方式。

有時候為了在 Linux 系統上處理一些問題,上網搜尋找到一些比較長的指令時,通常要在 man pages 中查詢指令中每一個參數的意義是很費時的,尤其是很多指令以管線(pipe)串在一起時,更是麻煩。


explainshell 是一個專門為這種問題而設計的工具,它可以解析整行指令,然後將 man pages 中對應的部份找出來,讓你省去在 man pages 中「翻箱倒櫃」的功夫。

名稱:explainshell
網址:http://explainshell.com/

舉例來說,假設你看到這行指令:

ssh -i keyfile -f -N -L 1234:www.google.com:80 host

這是一行使用 SSH 建立 tunnel 的指令,如果不是常常使用的人,通常一開始看到這行指令大概都不曉得該如何使用,傳統上的作法都是使用 man ssh 指令,開啟 man pages 慢慢搜尋每個參數的意義。

這裡我們將這行指令貼上 explainshell 之後,就可以看到這樣的畫面。

explainshell-1

explainshell 會將指令中每一個參數分解開來,找出 man pages 中對應的說明,讓你很輕鬆就可以對每個參數的用法一目了然。

explainshell 本身也是一個開放原始碼的專案,使用的語言是 Python,如果想要自己架設一個 explainshell 伺服器,可以從 GitHub 上取得其原始碼,然後安裝在自己電腦上。