1、什麼是shell?
shell是一個指令解釋器,類似window下的cmd.exe。
計算機實體部分就是硬體,驅動這些硬體的就是系統核心,而使用者無法是無法與核心交流的。在linux環境下,我們通過shell與核心交流,進而使用計算機硬體資源。工作流程:
使用者->shell->核心->硬體
使用者<-shell<-核心<-硬體
2、
由于linux是開源開放的,對shell的選擇也有多種。可檢視目前系統支援什麼shell(我的是rhel6.4)
[root@mgm ~]# cat /etc/shells
/bin/sh //大多unix預設的shell
/bin/bash //大多linux預設的shell
/sbin/nologin //非登入使用者所用的shell,如系統使用者
/bin/dash
/bin/tcsh
/bin/csh
在redhat中, /bin/sh 隻是/bin/bash的軟連結而已
[root@mgm ~]# ll /bin/sh
lrwxrwxrwx. 1 root root 4 2月 18 16:20 /bin/sh -> bash
[root@mgm ~]#
3、檢視目前系統預設的shell
[root@mgm ~]# echo $shell
/bin/bash
[root@mgm ~]
4、檢視使用者所用的shell
[root@mgm ~]# cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash
5、修改使用者用的shell
#usermod -s /bin/sh 使用者名
6、/sbin/nologin,有什麼用處?适合什麼使用者使用?
系統将禁止此使用者的本地登入
1)程序的所有者
2)通路服務的使用者