shell的種類

Shell其實是一個有特殊功能的程序,主要是提供用戶與內核交互操作的一個接口。它的位置介於用戶界面和內核之間,工作流程是接收用戶輸入的命令並且進行解釋(轉換爲計算機可以理解的機械碼),然後將命令送入內核去執行。我們一般通過ssh遠程登錄系統並且打開shell,也有一些是直接在圖形界面上直接打開終端的方式打開shell。後者主要用於ubuntu系統中。


    這裏主要介紹目前較爲流行或者歷史上存在的一些shell的種類,目前流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特點以及用途。


通過以下命令可以查看系統中安裝了哪些shell程序,如圖:

wKiom1W3RdPyjjfsAABVqFXQUvc382.jpg


目前流行的

目前流行的shell有ash、bash、ksh、csh、zsh等,使用不同的shell的原因在於它們各自都有自己的特點,下面作一個簡單的介紹:

# sh

sh其實是一個快捷方式。

# bash

這個是目前大多數Linux系統默認使用的shell,全名是BourneAgain Shell,一共有40個命令。包含的功能幾乎可以涵蓋shell所具有的功能,所以一般的shell腳本都會指定它爲執行路徑。如一般shell腳本的第一行會如下:

#!/bin/bash

bash還有一個特點,可以通過help命令來查看幫助。

# ksh

ksh有42條內部命令,與bash相比有一定的限制性。但是ksh主要用於unix例如HP-Uinx

# /bin/nologin

這個一般是指用戶不能登錄。

# dash

dash是爲跑腳本而生的,具有比bash更快的效率,但是交互性能較差。現在主要用在Debian和Ubuntu上。其內部命令以及參數等與bash有一些差別,如果使用bash命令寫的一些腳本可能會出錯。

# tcsh & csh

把tcsh和csh放一起介紹是因爲目前這兩種sh其實是同一種,tcsh是csh的增強版,並且完全兼容csh。顧名思義csh,其實是具有C語言風格的一種shell,其內部命令有52個,較爲龐大。目前使用的並不多。

# pdksh

pdksh是Oracle自身的一種shell,主要用在Oracle數據庫管理上。一般是DBA纔會使用這種shell。它與ksh不能共存,如果系統中安裝了ksh,那麼安裝pdksh時會報錯。

# zsh

最後介紹一目前Linux裏最龐大的一種shell:zsh。它有84個內部命令,使用起來也比較複雜。一般情況下,不會使用該shell。



轉載自:精華薈萃 Linux Shell種類簡單介紹

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