Linux中shell的分类以及查看当前的shell
DOS/Windows 與 Linux 的最重要的區別之一是 Linux 的命令 shell 是與操作系統相分離的一層。
目前流行的shell有ash、bash、ksh、csh、zsh,如下介紹:
bash:bash shell 是 Bourne shell 的一個免費版本,它是最早的 Unix shell,也是很多linux版本默認的shell。
csh?:C shell 使用的是“類C”語法,借鑒了 Bourne shell 的許多特點,它由以William Joy為代表的共計47位作者編成,共有52個內部命令。該shell其實是指向/bin/tcsh這樣的一個shell,也就是說,csh其實就是tcsh。
ksh:Korn shell 的語法與 Bourne shell 相同,同時具備了 C shell 的易用特點。由Eric Gisin編寫,共有42條內部命令。該shell最大的優點是幾乎和商業發行版的ksh完全兼容,這樣就可以在不用花錢購買商業版本的情況下嘗試商業版本的性能了。
zsh?:Z shell 是 Korn shell 的一個增強版本,是Linux最大的shell之一,由Paul Falstad完成,共有84個內部命令。如果只是一般的用途,是沒有必要安裝這樣的shell
ash:ash shell是由Kenneth Almquist編寫的,Linux中占用系統資源最少的一個小shell,它只包含24個內部命令,因而使用起來很不方便。
tcsh?:TC shell 是 C shell 的一個增強版本,與 C shell 完全兼容。
Linux中查看可以使用的shell
查看/etc/shells文件可得到系統中可用的shell的完整路徑
例如: more ?/etc/shells
或者使用 : chsh ?-l ? ?(在我的ubuntu中是無法顯示的,man幫助信息中是可以查到這個命令的)
Linux中查看當前使用的shell
方法一:echo ?$SHELL
方法二:輸入系統不認識的命令,獲取提示(在某些shell中沒有這樣的提示)
方法三:一般來講/etc/passwd文件中最后一項是每個用戶使用的shell,但不見得每個都是shell,可以通過以下命令來查看:
tail ?5 ?/etc/passwd
方法四:使用命令echo $0 ?(在bash中和ksh中驗證過)
方法五:通過ps命令查看(建議使用,使用于多個linux系統)
linux中shell的切換
可以直接輸入shell的名字如,我要啟動sh
直接輸入:sh 或者 /bin/sh ?這樣有啟動了一個Shell,這個Shell在最初登錄的那個Shell之后,稱為下級的Shell或子Shell。使用命令:exit就可以退出這個子shell。
linux中修改默認shell
輸入 chsh 命令,會提示輸入密碼:
輸入你要改變shell的絕對路徑名,注銷后重新登錄即可改變默認shell。
或者直接使用 chsh -s /bin/dash
這樣下次我們啟動系統的時候,通過ps命令查看,默認shell已經改變了。
參考地址:http://blog.163.com/zmhot88@126/blog/static/169846647201082683846279/
http://waterlife.blog.sohu.com/10439596.html
http://book.51cto.com/art/201106/271627.htm
總結
以上是生活随笔為你收集整理的Linux中shell的分类以及查看当前的shell的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android手机rom分区以及sd卡总
- 下一篇: java jar包命令行下可以双击不运行