shell的基本知识¶
Linux 系统中 shell 的基本知识
1 什么是 shell¶
Shell 是一种命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统级程序。用户可以用 shell 来启动、挂起、停止甚至是编写一些程序。
2 Linux 启动过程¶
Linux 系统的启动过程可以概括为以下几个步骤:
- BIOS 自检
- MBR 加载 BootLoader
- BootLoader 加载内核
- 内核初始化
- 系统初始化
- 登录 shell
shell 位于系统初始化阶段,由 init 进程调用。shell 接收用户的命令,并将其送入内核去执行。
3 shell 编程¶
shell 也是一个功能相当强大的编程语言,它易编写、易调试、灵活性较强。shell 是解释执行的脚本语言,在 shell 中可以直接调用 Linux 系统命令。
shell 脚本的格式如下:
第一行是注释行,用于指定 shell 解释器。
4 实验示例¶
1 列出当前目录下的所有文件¶
2 打印当前目录的绝对路径¶
3 查看当前目录下的文件大小¶
5 扩展知识¶
内置命令和外部命令¶
内置命令是 shell 内置的命令,不需要通过其他程序来执行。外部命令是需要通过其他程序来执行的命令。
内置命令和外部命令的区别如下:
区别 | 内置命令 | 外部命令 |
---|---|---|
是否需要其他程序 | 不需要 | 需要 |
是否产生子进程 | 不会产生 | 会产生 |
是否对当前 shell 生效 | 会生效 | 不会生效 |
变量¶
变量是 shell 中用来存储数据的一种特殊标识符。变量可以用来保存用户输入的值,也可以用来保存计算结果。
变量的格式如下:
变量的命名规则如下:
- 变量名可以由字母、数字、下划线组成。
- 变量名不能以数字开头。
- 变量名不能是关键字。
运算符¶
shell 中支持的运算符如下:
运算符 | 描述 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
= | 赋值 |
== | 等于 |
!= | 不等于 |
>= | 大于等于 |
<= | 小于等于 |
&& | 逻辑与 |
流程控制¶
shell 中支持的流程控制语句如下:
语句 | 描述 |
---|---|
if | 条件判断 |
for | 循环 |
while | 循环 |
until | 循环 |
case | 条件判断 |
break | 跳出循环 |
continue | 跳过本次循环 |
return | 返回 |
函数¶
shell 中可以使用函数来组织代码。函数的定义格式如下:
函数的调用格式如下:
如何编写一个脚本¶
- shell 脚本的命名规范,能够快速定位到需要执行的脚本。
- shell脚本中填写"脚本信息",方便后续修改,联系等。
Text Only
# Author:
# Created Time:
# Version:
# Script Description:
//以上分别对应中文
# 作者信息
# 创建时间
# 版本
# 脚本描述
下面是一个完美脚本的内容:
Text Only
#!/bin/bash
# 定义脚本执行环境
##脚本信息##
# Author: Josh
# Created Time: 2023/11/21
# Version: v1
# Script Description: create file
read -p "输入需要创建的文件名:" file
touch $file
if [ $? -ne 0 ];then
echo "文件创建错误"
else
echo "成功创建 $file 文件"
fi
运行脚本¶
第一种方式:脚本赋予执行权限运行,那上面的脚本举例:
结语¶
shell 是 Linux 系统中非常重要的一个工具,它可以用来完成各种任务,包括系统管理、软件开发、脚本编写等。掌握 shell 的基本知识,可以帮助我们更好地使用 Linux 系统。