請問共有幾種shell,他們都有什么區(qū)別?
請問共有幾種shell,他們都有什么區(qū)別?
$SHELL是一個環(huán)境變量,它記錄用戶所使用的Shell類型。你可以用命令: # Shell-name 來轉(zhuǎn)換到別的Shell,這里Shell-name是你想要嘗試使用的Shell的名稱,如ash等。
這個命令為用戶又啟動了一個Shell,這個Shell在最初登錄的那個Shell之后,稱為下級的Shell或子Shell。
使用命令: # exit 可以退出這個子Shell。使用不同的Shell的原因在于它們各自都有自己的特點,下面做一個簡單的介紹: 1.a(chǎn)sh ash Shell是由Kenneth Almquist編寫的,是Linux中占用系統(tǒng)資源最少的一個小Shell,它只包含24個內(nèi)部命令,因而使用起來很不方便。 2.bash bash是Linux系統(tǒng)默認(rèn)使用的Shell,它由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell的縮寫,內(nèi)百科部命令一共有40個。Linux使用它作為默認(rèn)的Shell是因為它有以下的特色: (1)可以使用類似DOS下面的doskey的功能,用上下方向鍵查閱和快速輸入并修改命令。
(2)自動通過查找匹配的方式,給出以某字串開頭的命令。 (3)包含了自身的幫助功能,你只要在提示符下面鍵入help就可以得到相關(guān)的幫助。 3.ksh ksh是Korn Shell的縮寫,由Eric Gisin編寫,共有42條內(nèi)部命令。
該Shell**的優(yōu)點是幾乎和商業(yè)發(fā)行版的ksh完全相容,這樣就可以在不用花錢購買商業(yè)版本的情況下嘗試商業(yè)版本的性能了。 4.csh csh是Linux比較大的內(nèi)核,它由以William Joy為代表的共計47位作者編成,共有52個內(nèi)部命令。該Shell其實是指向/bin/tcsh這樣的一個Shell,也就是說,csh其實就是tcsh。
5.zch zch是Linux**的Shell之一,由Paul Falstad完成,共有84個內(nèi)部命令。如果只是一般的用途,是沒有必要安裝這樣的Shell的。Bourne Shell (/usr/old/bin/sh)C Shell (/usr/bin/csh)Korn Shell (/usr/bin/ksh)POSIX Shell (/usr/bin/sh)①輸入一個系統(tǒng)不認(rèn)識的命令(如#****_pig)獲得系統(tǒng)提示②#e cho $0 (適用:sh/ksh)③#ps |grep $$|awk ‘{print $4}’④#e cho $SHELL(用戶默認(rèn)的Shell,但不實時反映當(dāng)前shell)還有在你的/etc/shells中你可以看到更多的shell:# /etc/shells: valid login shells/bin/ash/bin/csh/bin/sh/usr/bin/es/usr/bin/ksh/bin/ksh/usr/bin/rc/usr/bin/tcsh/bin/tcsh/usr/bin/zsh/bin/sash/bin/zsh/usr/bin/esh/bin/dash/bin/bash/bin/rbash不同的 shell 有著不同的功能,且也彼此各異、或說\”大同小異\”。
linux中shell分多少種,都有什么區(qū)別
Shell是一種腳本語言,那么,就必須有解釋器來執(zhí)行這些腳本,常見的腳本解釋器有:
bash:是Linux標(biāo)準(zhǔn)默認(rèn)的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的縮寫,內(nèi)部命令一共有40個。
sh: 由Steve Bourne開發(fā),是Bourne Shell的縮寫,sh 是Unix 標(biāo)準(zhǔn)默認(rèn)的shell。
另外還有:ash、 csh、 ksh等。
擴展資料:
常見的編程語言分為兩類:一個是編譯型語言,如:c/c++/java等,它們遠(yuǎn)行前全部一起要經(jīng)過編譯器的編譯。另一個解釋型語言,執(zhí)行時,需要使用解釋器一行一行地轉(zhuǎn)換為代碼,如:awk, perl, python與shell等。
Shell 經(jīng)過了POSIX的標(biāo)準(zhǔn)化,所以它是可以在不同的linux系統(tǒng)上進行移植。
shell ??昨天看書,看到一些詞,有B shell .C shell .K shell,請問這些都是什么?它們和shell有什么區(qū)別?
shell是用戶和操作系統(tǒng)之間的接口, shell作為操作系統(tǒng)的外殼,為用戶提供使用操作系統(tǒng)的接口。它是命令語言、命令解釋程序及程序設(shè)計語言的統(tǒng)稱。
而你說的B shell, c shell , k shell是具體的shell實現(xiàn)方式。
它們的語法有不同,但功能都大致差不多。它們之間的關(guān)系:就象“手機“是一類物品的統(tǒng)稱, 而nokia手機, 三星手機則是不同品牌的手機實體。