Shell 基础
一、基础知识 💡
1、简单介绍 💬
shell 是一个命令行解释器,作为用户与操作系统内核之间的接口程序。它接收用户输入的命令,对其进行解析和执行,然后返回结果。
系统管理员可以使用 shell 脚本自动执行复杂的重复性任务,从而大大简化他们的工作。
在任何情况下,您都可以通过键入以下内容来查看您正在使用的 shell:echo $SHELL
信息
shell 具有两种主要工作模式:
- 交互式模式:用户直接在命令行输入命令并立即获得反馈
- 脚本模式:将一系列命令写入文本文件(Shell 脚本)后统一执行
2、Shell 分类 🗂️
Linux 系统中提供了好几种不同的 shell 命令解释器,如 sh、zsh、bash 等。一般默认使用 bash 作为默认的解释器。
| Shell | 交互特性 | 脚本编写 | 常用场景 | 主要优势 |
|---|---|---|---|---|
sh | 较少 | 脚本标准 | 系统脚本、兼容性强 | 轻量、POSIX 兼容性高 |
bash | 丰富 | 强大 | Linux 默认 Shell、通用脚本 | 功能全面、广泛支持 |
zsh | 非常丰富 | 较强 | 开发者的交互 Shell 首选 | 自定义性强、插件丰富 |
ksh | 中等 | 较强 | 商业系统、兼容性脚本 | 语法强大、功能较全 |
csh/tcsh | 较丰富 | 较弱 | 类 Unix 系统、部分开发者 | 类似 C 语言、内建补全功能 |
3、Shell 脚本 📝
shell 脚本是由 Shell 命令组成的文本文件,按照语法编写相应程序,这些脚本(在增加可执行权限下)不需要编译就能运行,而是通过Shell 解释器直接解释执行。
shell 脚本大体可以分为两类:
-
系统调用的 shell 脚本,这类 shell 脚本是由系统自动调用的,例如,
~/.bashrc是针对特定用户的个人配置,登录时会自动调用,打开任意终端时也会自动调用 -
用户编写调用的 shell 脚本,这类 shell 脚本是由用户主动创建和调用的
总之,shell 脚本是系统管理和开发人员提高工作效率的重要工具。