天天看点

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)访问服务的用户