linux 中 shell 簡介

    shell 是用戶和 Linux 操作系統之間的接口,Linux 中有多種 shell, 其中缺省使用的是 bash。

    Linux 系統的 shell 作爲操作系統的外殼,爲用戶提供使用操作系統的接口。它是一個命令語言解釋器,擁有自己內建的 shell 命令集,shell 也能被系統中其他應用程序所調用。用戶在提示符下輸入的命令都由 shell 先解釋然後傳給 Linux 核心。

    Linux 中的 shell 有多種類型,其中最常用的幾種是 Bourne shell (sh) C shell (csh) 和Korn shell (ksh) 三種shell 各有優缺。


    Bourne shell 是UNIX 最初使用的 shell, 並且在每種UNIX 上都可以使用。Bourne shell 在shell 編程方面相當優秀,但在處理與用戶的交互方面做得不如其他幾種shell 。Linux 操作系統缺省的shell 是Bourne Again shell, 它是Bourne shell 的擴展,簡稱bash, 與Bourne shell 完全向後兼容,並且在Bourne shell 的基礎上增加增強了很多特性,它還包含了很多C shell 和Korn shell 中的優點,有靈活和強大的編程接口,同時又有很友好的用戶界面。

    C shell 是一種比 Bourne shell 更適於編程的 shell, 它的語法與 C  語言很相似。Linux 爲喜歡使用 C shell 的人提供了Tcsh Tcsh, 是 C shell 的一個擴展版本。Tcsh 包括命令行編輯,可編程單詞補全,拼寫校正,歷史命令替換,作業控制和類似C語言的語法。它不僅和 Bash shell 是提示符兼容,而且還提供比Bash shell 更多的提示符參數。

    Korn shell 集合了 C shell 和 Bourne shell 的優點,並且和Bourne shell 完全兼容。Linux 系統提供了 pdksh ksh 的擴展,它支持任務控制,可以在命令行上掛起,後臺執行喚醒或終止程序。


    Redhat Linux 系統默認的 shell 是 bash. 對普通用戶用 $ 作提示符,對超級用戶 root  用 # 作提示符。一旦出現了 shell 提示符就可以鍵入命令名稱及命令所需要的參數。


    shell 是如何工作的?

用戶在登錄到 Linux 時由/etc/passwd 文件來決定要使用哪個shell 例如該文件中含有類似如下一行
myself:x:500:500:Linux User:/home/myself:/bin/bash
用戶使用的 shell 被列每行的末尾
 /bin/bash。


Shell 控制檯

    首先介紹一個名詞: 控制檯 (console), 它就是我們通常見到的使用字符操作界面的人機接口,例如 dos。 我們說控制檯命令就是指通過字符界面輸入的可以操作系統的命令,例如 dos 命令就是控制檯命令。我們現在要了解的是基於 Linux 操作系統的基本控制檯命令。
    Linux 是一個真正的多用戶操作系統,這表示它可以同時接受多個用戶登錄。Linux 還允許一個用戶進行多次登錄,這是因爲Linux和許多版本的UNIX 一樣提供了虛擬控制檯的訪問方式,允許用戶在同一時間從控制檯(系統的控制檯是與系統直接相連的監視器和鍵盤)進行多次登錄。

    虛擬控制檯的選擇可以通過按下 Alt  鍵和一個功能鍵來實現,通常使用F1-F6。例如用戶登錄後按一下Alt-F2 鍵用戶又可以看到 "login:" 提示符,說明用戶看到了第二個虛擬控制檯。然後只需按Alt-F1 鍵就可以回到第一個虛擬控制檯。一個新安裝的Linux 系統允許用戶使用Alt-F1 到Alt-F6 鍵來訪問前六個虛擬控制檯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章