shell與Linux命令有什麼區別?它們之間有聯絡嗎?

老男孩IT教育機構發表於2021-12-02

  眾所周知,shell是執行在Linux系統上的一個指令碼語言,是每個運維人員必須掌握的知識;而我們在使用Linux系統的時候,必須透過命令來操作,那麼shell指令碼語言與Linux命令有什麼聯絡?它們之間的區別是什麼?這篇文章為大家講解一下。

  shell翻譯成殼的意思,它是包裹在Linux核心外層的,一個可透過一系列的Linux命令對作業系統發出相關指令的人機介面。shell可以透過其條件語句和迴圈語句等,把一系列Linux命令結合在一起,形成一個相當於程式導向的程式,即shell script,從而實現一些複雜的功能。

  shell可以說是Linux命令集的概稱,屬於命令列的人機介面。shell是一個用C語言編寫的程式,它是使用者使用Linux的橋樑。shell既是一個命令語言,也是一個程式設計語言;其次,shell也指一種應用程式,這個應用程式提供了一個介面,使用者透過這個介面訪問作業系統核心的服務。

  由此可見,shell相當於經過裝飾的命令列,它與命令列一樣,都能操作Linux;但是shell是程式導向的,相當於有了一定的邏輯和過程,而命令列只是單一的操作。

  shell與Linux命令的區別

  1、直接在命令列執行,就是在當前的shell環境下執行,比如涉及到一些環境變數的時候,必須在當前shell環境裡執行。

  2、在指令碼執行的話,會fork一個子程式,所有操作都在子程式中進行。如果涉及到一些在指令碼里設定環境變數的東西,指令碼結束了,環境變數就消失了,如果是修改環境變數的話,需要特別注意。

  3、shell可以重複或批次地進行一些命令,你也可以把自己要重複執行的命令寫到指令碼里面執行,而命令列的話就需要一個一個的輸入命令,比較麻煩。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2845420/,如需轉載,請註明出處,否則將追究法律責任。

相關文章