今天开始学习Linux系统编程,这部分主要分位五个板块,今天主要学习了shell脚本配置相关的内容,
Linux Shell 脚本是一种脚本语言,用于在 Linux 或类 Unix 操作系统上自动化命令的执行。Shell 脚本通常使用 Bash(Bourne Again Shell)编写,但也可以使用其他 Shell,如 sh、csh、ksh 等。
shell编程和c语言编程个有优劣,
shell编程:
解释型语言
边翻译边执行
擅长文件处理,操作系统管理
开发效率高 cp 1 2
执行效率低
移植性好
.c
编译型语言
先编译再执行
擅长数据计算和数据处理
开发效率低
执行效率高
移植性差
shell脚本编写流程:
1.vim XX.sh #!/bin/bash
2.编写脚本
3.chmod +x XX.sh
4. ./XX.sh
以下是一些基本的 Shell 脚本概念和组件:
脚本文件:Shell 脚本是一个文本文件,包含了一系列的命令和脚本语言特有的语法。
解释器:脚本需要一个解释器来执行。在 Linux 中,/bin/bash
或 /bin/sh
是最常见的解释器。
脚本的执行:要执行一个脚本,可以在命令行中使用 ./脚本名
或者 bash 脚本名
。
变量:Shell 脚本可以使用变量存储数据。变量名通常以大写字母开始,例如 VAR="value"
。
参数:脚本可以接受命令行参数,用 $1
、$2
等表示。
控制结构:包括条件语句(如 case)、循环语句(如 for
、while
)。
注释:以 #
开头的行是注释,不会被执行。
引号:单引号和双引号用于定义字符串。单引号内的字符会被原样处理,而双引号允许变量替换。
重定向:使用 >
、>>
、2>
等来改变命令的输入输出。
管道:使用 |
将一个命令的输出作为另一个命令的输入。
R - w -wx r-x
r-x
:表示文件所有者有读和执行权限,所属组和其他用户只有执行权限。-wx
:表示文件所有者有写和执行权限,所属组有执行权限,其他用户没有权限。rw-
:表示文件所有者有读和写权限,所属组和其他用户没有权限。
权限还可以用数字来表示,其中:
- 读权限(r):4 二进制为100
- 写权限(w):2二进制为010
- 执行权限(x):1二进制为001
权限的数值可以通过将对应的数字相加来表示。例如,rwx
(读、写、执行)的权限数值是 4+2+1=7
。
chmod 777 文件名 可以将一个文件设为最高权限。
分支语句:
1.if语句
if [条件]
then
语句
else
语句
fi
if后的条件要写在方括号中或写在test后,
test还可以判断文件的类型
-b 块设备文件 test -b /dev/usb0
-c 字符设备文件
-d 目录文件
-f 普通文件
-L 链接文件
-S 套接字文件
-p 管道文件
test可以判断文件的类型
2.case
case $num in
9)语句
;;
8|||)语句
;;
7)语句
;;
*)语句
;;
esac
循环语句
while [ 条件 ]
do
语句
...
done
for
until