一、Shell簡介
諸多類Unix作業系統的設計令人驚歎。即便是在數十年後的今天,Unix式的作業系統架構仍是有史以來最佳的設計之一。這種架構最重要的一個特性就是命令列介面或者shell。shell環境使得使用者能與作業系統的核心功能進行互動。術語指令碼更多涉及的便是這種環境。編寫指令碼通常使用某種基於解譯器的程式設計語言。shell指令碼本質上就是一些文字檔,我們可以將一系列需要執行的命令寫入其中,然後通過shell來執行。
在這裡我們介紹的是Bash shell(Bourne Again Shell),它是目前大多數GUN/Linux系統預設的shell環境。書中所有的實驗都是在Ubuntu14.04 LTS環境下完成的。
二、基本操作
1.開啟終端
在ubuntu14.04 LTS系統中,已經預設安裝了一個Terminal,我們可以通過多種方法開啟終端。這裡介紹兩種:
方法一:通過系統內建的檢索系統,我們可以輕鬆找到終端(Terminal),單擊即可開啟。檢索系統可以通過快速啟動欄右上方的按鈕啟動。
方法二:為了之後可以方便的開啟終端,建議將終端固定在快速啟動欄。操作方法為:通過方法一開啟終端後,快速啟動欄會出現一個終端的圖表,在圖表上單擊滑鼠右鍵,選擇“固定在啟動欄”即可將終端固定在快速啟動欄。
2.終端初始化介面
預設情況下,終端提示符為:username@hostname或者root@hostname#。代表普通使用者,#代表root使用者。
例如:我在開啟終端後,提示符為:wxb@ubuntu:~$。
root是linux系統中許可權最高的使用者,能力大風險也大,因此不介意使用root使用者作為登陸系統的預設使用者。
3.切換使用者
通常情況下,對於個人版linux作業系統,系統上會存在兩個使用者,即使用者自己以及root使用者。對於使用者來說,時有需要切換使用者,以執行一些普通使用者不能執行的操作,此處提供兩種方法切換使用者。
方法一:臨時切換。顧名思義,這種切換方法僅僅是臨時的,當指令執行完成後,就會切換到原來的使用者。切換指令為:sudo command, sudo 是super user do 的簡寫。
方法二:長久切換。顧名思義,使用這種方法切換後,指令執行完成後不會返回普通使用者。切換指令為:su,su是switch user的簡寫,之後會提示輸入密碼等完成使用者切換。
4.Shell指令碼
下面這段指令碼用於想終端列印 Hello world! 字串。
複製代碼 代碼如下:
#!/bin/bash
echo "Hello World!"
shell指令碼的起始行通常是 #!/bin/bash,其中/bin/bash是解譯器的路徑,用於解釋執行後續命令。各命令之間以 分行符號 或者 分號 間隔。
5.運行指令碼
在Ubuntu中,有多中方式可以運行指令碼。
方法一: bash test.sh,在這種情況下,指令檔的首行可以不必是”#!/bin/bash”,因為在這種方法下已經指定瞭解釋器。
方法二: 首先修改指令檔的許可權 chmod a+x test.sh,這條指令主要是賦予指令檔可執行許可權。然後執行檔案 ./test.sh即可;或者也可以通過完整路徑來執行指令碼。
6.指令碼注釋
在shell指令碼中也不例外,我們需要在某些位置提供注釋行,似的代碼易於理解。#後面的內容為注釋內容,不會被解釋執行。注意:#是單行注釋符。