【Linux】shell及其運行原理

Linux嚴格意義上來說是一個操作系統,但是我們的用戶是無法直接與操作系統對話的,而是通過shell來使用。

shell用戶和Linux內核之間的接口程序,如果把Linux內核想象成一個球體的中心,shell就是圍繞內核的外層。 shell是一個命令語言解釋器,它擁有自己內建的shell命令集,shell也能被系統中其他應用程序所調用。當從shell或其他程序向 Linux傳遞命令時,內核會做出相應的反應。用戶在提示符下輸入的命令都由shell先解釋然後傳給Linux核心。Linux系統的shell作爲操作系統的外殼,爲用戶提供使用操作系統的接口。它是命令語言、命令解釋程序及程序設計語言的統稱。常見分類有bash、dash。

對比Windows GUI,我們操作Windows不是直接操作Windows內核,而是通過圖形接口,點擊,從而完成我們的操作(比如進入D盤,通常是雙擊D盤盤符;再比如運行起來一個應用程序)。

shell對於Linux,有相同的作用,主要是對我們的指令進行解析解析指令給Linux內核反饋結果再通過內核運行出結果,shell解析給用戶

shell管理用戶與操作系統之間的交互:等待用戶輸入,向操作系統解釋用戶的輸入,並且處理各種各樣的操作系統的輸出結果。 shell提供了用戶與操作系統之間通訊的方式。

 

用一個生活中的例子來幫助理解:如果說你是一個悶騷且害羞的程序員,那shell就像媒婆,操作系統內核就是你們村頭漂亮的且有讓你心動的MM小花。你看上了小花,但是有不好意思直接表白,那就讓你你家人找媒婆幫你提親,所有的事情你都直接跟媒婆溝通,由媒婆轉達你的意思給小花,而我們找到媒婆姓王,所以我們叫它王婆,它對應我們常使用的bash。

 

從技術角度,Shel的最簡單定義:命令行解釋器(command Interpreter)它主要包含:

1.將使用者的命令翻譯給操作系統核心(kernel)處理。

2.同時,將核心的處理結果翻譯給使用者(用戶)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章