2013年12月6日 星期五

超強的Linux指令解釋網站《explainshell.com》,學Linux必備!

超強的Linux指令解釋網站,學Linux必備!

image

雖然現代的作業系統都已經有圖形化使用者界面(GUI)了,但是作業系統也都有提供純文字的指令模式,讓使用者可以直接下指令或撰寫script。當我們在學Linux指令時,最怕的就是一堆又臭、又長又看不懂的指令及參數,如果遇到複合指令時,想查說明頁(manpage)真的相當相當麻煩。今天阿正老師要推薦一個非常好用的Linux指令解釋網站《explainshell.com》,當你遇到看不懂的指令時,只要將指令貼到該網站,就有完整的說明可以使用,讓你學習或使用Linux指令更加得心應手喔!快來試試看吧!

學過計算機概論的讀者,應該都知道「Shell」這個東西。維基百科對於Shell的解釋為:

殼層(英語:Shell)在電腦科學中,是指「提供使用者使用介面」的軟體,通常指的是命令列介面的解析器。一般來說,這個詞是指作業系統中,提供存取核心所提供之服務的程式。Shell也用於泛指所有為使用者提供操作介面的程式,也就是程式和使用者互動的層面。因此與之相對的是程式核心(英語:Core),核心不提供和使用者的互動功能。

不過這個詞也拿來指應用軟體,或是任何在特定元件外圍的軟體,例如瀏覽器或電子郵件軟體是HTML排版引擎的shell。Shell這個詞是來自於作業系統(核心)與使用者介面的外層介面。

通常將殼層分為兩類:命令列與圖形介面。命令列殼層提供一個命令列介面(CLI);而圖形殼層提供一個圖形使用者介面(GUI)。

因為作業系統是人類與電腦之間的橋樑,如果把電腦比喻為一顆雞蛋,電腦的硬體就是蛋黃,作業系統就是蛋白,而作業系統提供給人們操作的環境就是蛋殼,也就是「Shell」,早期的作業系統都只提供文字模式的界面,如DOS、UNIX …,後來才有圖形使用者界面的產生,讓人們可以用滑鼠來操作電腦。

不過純文字的命令模式還是相當重要,例如你想批次執行一些指令,在Windows內可以編寫一個.BAT(批次檔),在UNIX-Like作業系統則是編寫script。如下圖就是Windows裡面的「命令提示字元」視窗:

SNAGHTML38d691

今天阿正老師要介紹的這個explainshell.com是一個專門幫你解釋Linux指令的網站,網站作者Idan Kamara利用Python語言擷取了多達29761頁的Ubuntu說明文件(manpages),幫你輕鬆將複雜的Linux指令給翻譯成容易理解的說明,不論你是Linux使用者、學習者或網路管理者,相信這個網站都是不可或缺的一個好工具,非常值得一試喔!

使用方式
ExplainShell
官方網站:http://explainshell.com/
原始碼下載:https://github.com/idank/explainshell

用瀏覽器打該explainshell網站,在中間的欄位輸入你欲查詢的Linux指令。下面有提供了幾個範例,可以直接點選範例來查看解釋。

SNAGHTML300167

例如我輸入了一個常用的解壓縮指令 「tar zxvf test.tar.gz」,該網站的解釋結果如下圖,可看到它清楚地將各個指令及參數以線條的方式連到底下的說明文字,當你將游標停在指令或參數上方時,該線條還會以高亮度來顯示解釋喔!

SNAGHTML30d7a9

如果你要解釋的是管道(pipeline)指令時,還可選擇要解釋全部(explain all)或是逐一指令解釋,可按下上方的←或→按鈕來切換(下圖紅色箭頭處)要解釋的指令。

image

當你想查看完整的指令說明(指令的後面會出現一個(1))時,只要用滑鼠點一下該指令,就會出現完整的說明頁面。以「find . –type f –print0」為例,按下畫面上方的「find(1)」:

image

就會顯示find的完整參數說明,是不是相當方便呢?

image

還在為了複雜的Linux指令所苦嗎?快來試試看ExplainShell.com這個好網站吧!

類似網站
解釋C語言:http://cdecl.org/

SNAGHTML48d5a7

解釋「正規表示法」(Regular expression)的網站:http://www.regexper.com/

SNAGHTML4c872a

轉載自《㊣軟體玩家》