計算機分爲幾個層次:程序員
最底層的叫作硬件*(Hardware),如磁盤,CPU,內存等等shell
其次是虛擬層,把全部硬件的東西虛擬成用戶能夠直接訪問的文件或圖標。通常在GLI咱們看到的是文件,在GUI看到的是圖標。編程
而程序員就在虛擬層上爲用戶建立一套操做系統,僅僅是操做系統的內核,而不是整個操做系統。僅僅也就具有幾個簡單的功能,如:對底層硬件的管理(磁盤,CPU,內存)編程語言
Shell是系統的用戶界面,提供了用戶與內核進行交互操做的一種接口。它接收用戶輸入的命令並把它送入內核去執行。ide
實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令而且把它們送到內核。不只如此,Shell有本身的編程語言用於對命令的編輯,它容許用戶編寫由shell命令組成的程序。Shell編程語言具備普通編程語言的不少特色,好比它也有循環結構和分支控制結構等,用這種編程語言編寫的Shell程序與其餘應用程序具備一樣的效果。操作系統
簡單點說就是Linux的一種程序而已,用戶想要對系統就行操做。就必須通過shell,shell就像是一層外殼,把應用程序和內核給保護起來,同時又向外提供接口。方便用戶操做。接口