使用linux肯定是要會使用命令的,就算提供有使用者介面,絕大部分功能還是要通過命令列去操作的。而shell指令碼語言也是執行在linux上的指令碼語言,對於伺服器運維人員也是幾乎必須要掌握的。而shell指令碼語言和linux命令有什麼聯絡,有什麼區別,也是要弄清楚的。
什麼是shell,shell與linux命令的聯絡
shell翻譯成殼的意思,它是包裹在linux核心外層的、乙個可通過一系列的linux命令對作業系統發出相關指令的人機介面。 shell可以通過其條件語句和迴圈語句等,把一系列linux命令結合在一起,形成乙個相當於面向過程的程式,即shell script,來實現一些較為複雜的功能。
總括,shell是linux命令集的概稱,是屬於命令列的人機介面。shell 是乙個用c語言編寫的程式,它是使用者使用linux的橋梁。shell既是一種命令語言,又是一種程式語言。shell是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。ken thompson的sh是第一種unix shell,windows explorer是乙個典型的圖形介面shell。shell 和shell script不是一回事,通常我們說的都是shell script。
由定義可知, shell相當於經過裝飾的命令列,和命令列一樣,都能操作linux。但是shell是面向過程的,相當於有了一定的邏輯和過程,而命令列只是單一的操作。
shell與linux命令的區別
1.直接在命令列執行,就是在當前的shell環境下執行,比如涉及到一些環境變數的時候,必須在當前shell環境裡執行。
2.在指令碼裡執行的話,指令碼執行的時候,會fork乙個子程序,所有操作都在子程序進行。如果涉及到一些在指令碼裡設定環境變數的東西,指令碼結束了,環境變數也就消失了。 如果是修改環境變數的話,需要特別注意下。
3.shell可以重複或批量地執行一些命令。你也可以把自己要重複執行的命令寫到指令碼裡面執行。而命令列的話就需要乙個乙個的輸入命令,相對而言麻煩一些。
總結
上面就是一些對於shell和命令列的對比。個人覺得除了非常專業的運維人員,對大多數開發人員來說,這兩者的差別不大,也不影響大家對於linux系統的使用。
"沒有穩定的工作,只有穩定的能力。"
指令碼語言 shell指令碼
指令碼語言的特徵 指令碼語言 於批處理命令語言,但更接近於程式語言。與批處理命令語言的差別是,指令碼語言有變數和豐富的控制語句 與一般程式語言的差別是 指令碼語言變數的值主要是字串,語言的基本單位是命令 而程式語言變數主要是數值,語言的基本單位是表示式 指令碼語言一般是解釋執行的,速度低,但開發成本...
shell指令碼語言
現在流行的指令碼語言有很多,例如php perl python shell等等,這些指令碼語言都有自己的牛x的地方。shell指令碼語言在unix linux系統上用途廣泛,它的優勢在於處理作業系統底層的業務,它利用大量的命令和函式來實現強大的功能,例如一鍵安裝 報警等等。1 在編寫指令碼語言的時候...
指令碼語言 Shell
2017 03 12 1 date 格式化輸出時間時 與格式化字串不能有空格,例如輸出月 日 date m d,date用法見date help 2 輸出自1970 01 01 00 00 00至當前的時間戳 date s 3 shell 預設是進行字串計算,可以使用 表 達式 進 行轉換。4 運算...