俗话说,要想理解一门语言,首先得理解它的运行环境,我觉得shell也不例外,它从某个角度来说也算一门编程语言,所以我们也需要对它的服务器,即Linux服务器有所了解。
Linux服务器
1. 定义:
Linux服务器是被设计用来处理业务应用,如网络和系统管理,数据库管理和web服务等,是具备高性能和开源性的一种服务器。
2. 优点
- 稳定性:Linux是最稳定的系统,在长期使用的过程中,Linux出现问题导致系统崩溃的例子特别少。
- 安全性:Linux是基于Unix所发展的,在一开始就被设计成为了一个多用户操作系统,只有管理员和root用户具有管理权限,而且在Linux服务器上,管理员能对所有的文件可见,并且这些文件都处于受控状态。
- 硬件配置:Linux服务器具有更好的可扩展性以及灵活性,如果有需要,可以随时更改服务器配置。
- TCO:Linux比其他系统拥有更多基于用户许可和一系列昂贵的附加组件,尤其是关于服务器的安全机制上。
然后进行咱们的重点内容——shell命令
1.概念:
shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。
2.发展:
首先,贝尔实验室在1971年为Unix开发了第一个shell,称为V6 shell;之后Stephen Bourne在贝尔实验室为V7 Unix所开发的Bourneshell,即sh;最后开源组织GNU为了取代Bourne shell而开发的Bourne-Again shell,即Bash。到了二十一世纪了,新的shell仍然在不断的开发,应用。
3.构成:基本由解释器和编程语言组成,话不多说,直接放图
4.执行:shell脚本一般以.sh结尾,也可以没有,这是一个约定`
1 #1 /bin/bash
1 #1 /usr/bin/env bash
5.shell的几种展开:
大括号展开(brace expansion) {...}
波浪号展开(tilde expansion) ~
参数展开(shell parameter expansion)
命令替换(command substitution)
数学计算(arithmetic expansion) $((...))
文件名展开(filename expansion) * ?[...] 外壳名模式匹配\