1. 程式人生 > >Linux shell簡介,臥槽看了居然會了??&%$$

Linux shell簡介,臥槽看了居然會了??&%$$

Shell概述

  • Shell本身是一個用C語言編寫的程式,它是使用者使用Unix/Linux的橋樑,使用者大部分工作都是通過shell完成的。
  • Shell既是一種命令語言,又是一種程式設計語言:

    作為命令語言,它互動式地解釋和執行使用者輸入的命令;

    作為程式設計語言,它定義了各種變數和引數,並提供了許多在高階語言中才具有的控制結構,包括迴圈和分支。

  • Shell它雖然不是Unix/Linux系統核心的一部分,但它呼叫了系統核心的大部分功能來執行程式、建立檔案並以並行的方式協調各個程式的執行。Shell是使用者與核心進行互動操作的一種介面,目前最流行的Shell稱為bash Shell(Bourne Again Shell)

  • Shell是一門程式語言(解釋型的程式語言),即shell指令碼(就是用在linux的Shell命令程式設計),Shell指令碼程式從指令碼中一行一行讀取並執行這些命令,相當於一個使用者把指令碼中的命令一行一行敲到Shell提示符下執行

  • Shell是一種指令碼語言,那麼,就必須有直譯器來執行這些指令碼

    Unix/Linux上常見的Shell指令碼直譯器有bash、sh、csh、ksh,習慣上把它們稱作一種Shell。我們常說有多少種Shell,其實說的是Shell指令碼直譯器,可以通過cat /etc/shells命令檢視系統中安裝的shell,不同的shell可能支援的命令語法是不相同的

  • sh是Unix 標準預設的shell,由Steve Bourne開發,是Bourne Shell的縮寫。

    bash是Linux標準預設的shell,本教程也基於bash講解。bash由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell的縮寫。

  • Shell本身支援的命令並不多,內部命令一共40條,但是它可以呼叫其他的程式,每個程式序就是一個命令,這使得Shell命令的數量可以無限擴充套件,其結果就是Shell的功能非常強大,完全能夠勝任Linux的日常管理工作,如文字或字串檢索、檔案的查詢或建立、大規模軟體的自動部署、更改系統設定、監控伺服器效能、傳送報警郵件、抓取網頁內容、壓縮檔案等。