shell是linux系統下的命令直譯器,也是使用linux系統的主要環境,shell的功能很多,主要從shell的基本概念、shell的種類、shell中的特殊字元、重定向以及shell程式幾個方面來講解,重點內容是shell的特殊字元和shell程式設計。
什麼是shell
使用者登入進入linux系統時,可以進入基於x window的圖形視窗系統:kde。當然很多任務作可以在圖形環境下完成,但是在伺服器應用環境下的很多情況需要遠端連線到伺服器進行管理配置,而且使用命令列模式進行管理更加方便和簡單,因此學習linux,shell的學習和使用是必不可少的一部分。
如果系統設定為不自動啟**形介面,那麼使用者登入以後得到的就是乙個等待輸入命令的shell提示符,標識了可以開始發出命令;如果系統設定為自動啟**形系統,那麼使用者可以在單擊【開始】→【thiz menu 即時選單】→【簡體中文終端機(gb2312)】執行終端**程式,在命令提示符後面輸入任何命令及引數,如圖3-1所示。
圖3-1 執行終端模擬程式
使用者登入或執行終端模擬程式時,實際進入了shell。那麼,shell是什麼呢?確切一點說,shell就是乙個命令列直譯器,它的作用就是遵循一定的語法將輸入的命令加以解釋並傳給系統。它為使用者提供了乙個向linux傳送請求以便執行程式的介面系統級程式,使用者可以用shell來啟動、掛起、停止甚至是編寫一些程式。
shell本身是乙個用c語言編寫的程式,它是使用者使用linux的橋梁。shell既是一種命令語言,又是一種程式語言。作為命令語言,它互動式地解釋和執行使用者輸入的命令;作為程式語言,它定義了各種變數和引數,並提供了許多在高階語言中才具有的控制結構,ㄑ泛頭種аk淙徊皇荓inux系統核心的一部分,但它呼叫了系統核心的大部分功能來執行程式、建立文件並以並行的方式協調各個程式的執行。因此,對於使用者來說,shell是最重要的實用程式,深入了解和熟練掌握shell的特性極其使用方法,是用好linux系統的關鍵。可以說,shell使用的熟練程度反映了使用者對linux使用的熟練程度。
當使用者使用linux時是通過命令來完成所需工作的。乙個命令就是使用者和shell之間對話的乙個基本單位,它是由多個字元組成並以換行結束的字串。shell解釋使用者輸入的命令,就像dos裡的***mand.***一樣不同的是,在dos中,***mand.***只有乙個,而在linux下比較流行的shell有好幾個,每個shell都各有千秋。一般的linux系統都將bash作為預設的shell。
Shell操作與簡易程式設計(二)
幾種流行的shell 目前流行的shell有ash,bash,ksh,csh,zsh等,你可以用下面的命令來檢視你自己的shell型別 echo shell shell是乙個環境變數,它記錄使用者所使用的shell型別。你可以用命令 shell name 來轉換到別的shell,這裡shell na...
Shell操作與簡易程式設計(三)
shell基礎 命令列中輸入的第乙個字必須是乙個命令的名字,第二個字是命令的選項或引數,命令列中的每個字必須由空格或tab隔開,格式如下 命令 選項 引數 選項是包括乙個或多個字母的 它前面有乙個減號 減號是必要的,linux用它來區別選項和引數 選項可用於改變命令執行的動作的型別。例如 root ...
Shell操作與簡易程式設計(三)
shell基礎 命令列中輸入的第乙個字必須是乙個命令的名字,第二個字是命令的選項或引數,命令列中的每個字必須由空格或tab隔開,格式如下 命令 選項 引數 選項是包括乙個或多個字母的 它前面有乙個減號 減號是必要的,linux用它來區別選項和引數 選項可用於改變命令執行的動作的型別。例如 root ...