Shell 是什麼?
殼層(Shell) 是作業系統的最外層,指的是為使用者提供使用者介面,讓使用者可以存取核心(Kernal)提供的服務的軟體。而 Kernal 負責控制硬體設備,當 Kernal 接收到使用者透過 Shell 下的指令,便會進一步存取硬體資源。
由外而內的層級分別為 使用者(user)- 殼層(shell)- 核心(kernel)- 硬體(hardware)
。
GUI 和 CLI
使用者用來控制 shell 的介面又分為圖形使用者介面(Graphical User Interface,簡稱 GUI)和命令列介面(Command-Line Interface,簡稱 CLI)。
GUI 就是可以用滑鼠點來點去控制的那種介面,通常會建立在視窗系統,而 CLI 是早期那個只能用鍵盤輸入指令來操控的介面,多建立在 Unix 或類似的作業系統之下。常見的 CLI 像是 Windows 當中的 cmd.exe、MacOS 當中的 terminal、Linux 當中的 bash。
當現有的 GUI 沒有提供你想要要求電腦處理的功能,使用 CLI 來操控 shell 就成了能夠和電腦溝通的主要方式。透過 GUI 能做到的事情受存在的按鈕、輸入列所侷限,但在電腦的眾多功能之間又有許多可以嘗試組合使用的方式,所以這門課會著重於藉由 CLI 來操作工具,而 shell 就是大部分在使用這類工具時的位置。
本堂課選擇使用 shell
依據發展者的不同,不同平臺下就有不同的 shell 可以使用,這些不同的 shell 功能都差不多,只有指令有些微的不同。最常見的是 bash(Bourne-Again SHell),因此這堂課也會使用 bash 來教學。
打開 shell prompt 後,顯示的字串代表的是你的名字-主機名稱-你所在的位置
,$
代表 home。 shell prompt 也可以客製化成你想要的樣子。
接下來,就可以開始輸入指令了。