什么是Shell
- Linux系统中运行的一种特殊程序
- 在用户和内核之间之间充当“翻译官”
- 用户登陆Linux系统时,自动加载一个Shell程序
- Bash是Linux系统中默认使用的Shell程序
用户与内核进行交互过程如下:
- 计算机接收用户所输入的的命令
- shell会将所接收到的命令转换成计算机所能识别的二进制语言
- 再将命令传递给系统内核执行
Shell的作用
Linux系统中的shell是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个"翻译官"的角色,负责接收用户输入的操作指令命令并进行解释,将需要执行的操作传递给内核调动硬件执行,并输出执行结果。
内核:用于调用计算机硬件资源
shell:将用户指令转换成计算机语言让内核去调用计算机硬件资源
bash是一个文件,linux系统中万物皆文件
bash文件位于/bin/bash
用户的登录Shell
- 登录后默认使用的Shell程序,一般为/bin/bash
- 不同Shell的内部指令、运行环境等会有所区别
- 注:
- nologin:是奇怪的shell,这个shell可以让用户无法登录主机。
- bash ( /bin/bash)是目前大多数Linux版本采用的默认shell
Shell脚本的概念
- 将要执行的命令按顺序保存到一个文本文件
- 给该文件可执行权限
- 可结合各种Shell控制语句以完成更复杂的操作
shell脚本是什么
shell脚本就是说我们把原来 linux 命令或语句放在一个文件中,然后通过这个程序文件去执行时,我们就说这个程序为 shell 脚本或 shell 程序;我们可以在脚本中输入一系统的命令以及相关的语法语句组合,比如变量,流程控制语句等,把他们有机结合起来就形成了一个功能强大的 shell 脚本
总结:将需要执行的命令保存到一个文件中,按照顺序执行,它不需要编译,它是解释型的
shell脚本能干什么
- 自动化完成软件的安装部署,如安装部署LAMP架构服务
- 自动化完成系统的管理,如批量添加用户
- 自动化完成备份,如数据库定时备份
- 自动化的分析处理,如网站访问量
Shell脚本应用场景
- 重复性操作
- 交互性任务
- 批量事务处理
- 服务运行状态监控
- 定时任务执行
未完待续