1.介绍
1.1 疑问
linux系统是如何操作计算机硬件CPU,内存,磁盘,显示器等?
答: 使用linux的内核操作计算机的硬件
1.2 Shell介绍
通过编写Shell命令发送给linux内核去执行, 操作的就是计算机硬件. 所以Shell命令是用户操作计算机硬件的桥梁
Shell是命令, 类似于windows系统Dos命令
Shell是一个门程序设计语言, Shell里面含有变量, 函数, 逻辑控制语句等等

1.2.1 Shell脚本
通过Shell命令或程序编程语言编写的Shell文本文件, 这就是Shell脚本 , 也叫Shell程序
1.2.2 为什么学习Shell脚本?
通过Shell命令与编程语言来提高linux系统的管理工作效率
1.3 Shell的运行过程
当用户下达指令给该操作系统的时候,实际上是把指令告诉shell解析器,经过shell解析器解释,处理后让内核做出相应的动作。系统的回应和输出的信息也由shell处理,然后显示在用户的屏幕上。

1.4 Shell解析器
查看linux系统centos支持的shell解析器
cat /etc/shells
效果

介绍解析器类型
| 解析器类型 | 介绍 |
|---|---|
| /bin/sh | Bourne Shell,是UNIX最初使用的shell; |
| /bin/bash | Bourne Again Shell它是Bourne Shell的扩展,简称bash,是LinuxOS默认shell,有灵活和强大的编辑接口,同时又很友好的用户界面,交互性很强; |
| /sbin/nologin | 未登录解析器, shell设置为/sbin/nologin 是用于控制用户禁止登陆系统的, 有时候有些服务,比如邮件服务,大部分都是用来接收主机的邮件而已,并不需要登陆 |
| /bin/dash | dash(Debian Almquist Shell),也是一种 Unix shell。它比 Bash 小,只需要较少的磁盘空间,但是它的对话性功能也较少,交互性较差。 |
| /bin/csh | C Shell是C语言风格Shell |
| /bin/tcsh | 是C Shell的一个扩展版本。 |
1.4.1 Centos默认的解析器是bash
语法
echo $SHELL
含义: 打印输出当前系统环境使用的Shell解析器类型
echo 用于打印输出数据到终端
$SHELL是全局共享的读取解析器类型环境变量, 全局环境变量,是所有的Shell程序都可以读取的变量