Linux常用shell種類


  不同的shell具備不同的功能,shell還決定了Linux中默認的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特點以及用途。

查看自己的服務器支持什么shell

# cat /etc/shells 

/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
# chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin

 

查看當前的shell

# echo $SHELL
/bin/bash

 

bash
大多數Linux系統默認使用的shell,bash shell是Bourne shell 的一個免費版本,它是最早的Unix shell,bash還有一個特點,可以通過help命令
來查看幫助。包含的功能幾乎可以涵蓋shell所具有的功能,所以一般的shell腳本都會指定它為執行路徑。

csh
C shell 使用的是“類C”語法,csh是具有C語言風格的一種shell,其內部命令有52個,較為龐大。目前使用的並不多,
已經被/bin/tcsh所取代。

ksh
Korn shell 的語法與Bourne shell相同,同時具備了C shell的易用特點。許多安裝腳本都使用ksh,ksh 有42條內部命令,與bash相比有一定的限制性。

看看相應的目錄中有無ksh
# ls /bin/ksh

如果命令安裝就成了。
# yum install ksh

查看
# ll /bin/ksh
lrwxrwxrwx 1 root root 21 May  8 09:26 /bin/ksh -> /etc/alternatives/ksh


tcsh
tcsh是csh的增強版,與C shell完全兼容。

sh
是一個快捷方式,已經被/bin/bash所取代。

nologin
指用戶不能登錄

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

 

改變shell

當前用戶改變自己的shell(普通用戶也可以執行)

[root@localhost ~]# chsh            #必變當前用戶的shell 
Changing shell for root.
New shell [/bin/bash]: /bin/csh     #輸入新的shell地址
Shell changed.

[root@localhost ~]# chsh -s /bin/csh #改變當前用戶shell,設置為 /bin/csh
Changing shell for root.
Shell not changed.

還有一種方法,需要管理員權限

# usermod -s /bin/sh xu

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM