天天看點

linux shell程式設計學習筆記(1)shell概述

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)通路服務的使用者