自动化运维之bash命令
cat /etc/shells
alias/unalias 命名别名,可以简化指令而提高效率。

管道和重定向

命令序列使用技巧
作业控制技巧

花括号{}使用技巧

变量
1.基础语法
eg:添加only read属性;

eg:预设先定义一个变量,但是暂时不赋值给它,可以使用declare命令;(使用-i选项设置整数变 量,强制为该变量赋值字符型数据,查看变量结果为0)

eg:还可以通过read命令来设置变量,read从标准输入中读取变量值,使用-p选项可以添加相应的提示信息;(回车后输入要赋值给变量的值,在提示符后输入要赋值给其变量的值,查看当前系统中设置的所有变量的值,删除变量)

2.变量使用范围

3.环境变量

4.位置变量

6. 数组

7.1算数运算

7.2 测试
//判断功能:(1)、使用bash内置命令test即可实现测试工作;(2)、使用【 测试表达式 】
//Linux中可利用控制字符(; && || &)来控制命令的执行方式:
;控制字符可以把多个命令组合;
& 控制字符使得命令开启一个shell并在后台执行;
&& 可将多个命令组合,仅当前一个命令执行成功后才会执行&&后的命令;
|| 与&&作用相反,仅当前一个命令失败才会执行||后的命令。

shell引号
反斜线 \可将紧随其后的单个字符视为字面意义上的字符;
单引号‘’可将中间的所有任意字符还原为字面意义,实现屏蔽shell元字符的功能;
双引号“”类似于‘’但不会屏蔽‘、\、和$这三个shell元字符的含义,如果要屏蔽须前置一个\符号则其他字符的功能将被屏蔽(包括’‘);
反引号``进行命令替换,可将命令字符替换为执行结果的输出内容,同样的功能也可以使用$()来实现。

正则表达式(基本正则表达式、扩展正则表达式:在基本正则表达式基础上增加一些更加丰富的匹配规则而成):
是一种计算机描述语言,可直接告诉计算机需要的是字母A来精确匹配定位等等。如今很多程序、文本编辑工具、编程语言都支持正则表达式,但任何语言都需要遵循一定的语法规则。使用正则表达式在运维工作中是明智选择,可以提高效率。
注意:正则表达式中有些匹配字符与shell中的通配符符号一样,但含义却不同。
1.基本正则表达式及其含义:
c 匹配字符c;
. 匹配任意单个字符;
* 匹配前一个字符出现0或者多次;
.* 匹配任意多个任意字符;
[ ] 匹配集合中的任意单个字符,括号中为一个集合;
[x-y] 匹配连续的字串范围;
^ 匹配字串的开头;
$ 匹配字串的结尾;
[^] 匹配否定,对括号的集合取反;
\ 匹配转义后的字串;
\{n,m\} 匹配前一个字符重复n到m次;
\{n,\} 匹配前一个字符重复至少n次;
\{n\} 匹配前一个字符重复n次;
\(\) 将\(与\)之间的内容存储在“保留空间”,最大存储9个;
\n 通过\1至\9调用保留空间中的内容。
2.案例
eg:



eg:查找sbin/后不跟n的行:

eg:数字0出现1次、2次的行;
eg:查找包含两个root的行(注意:grep在使用\(\)过滤时,匹配条件必须使用引号);
eg:查找包含以root:开头并以:root结尾的字符串行;
eg:过滤文件的空白行;
eg:过滤文件的非空白行。

扩展正则表达式
1.扩展正则表达式及其含义:
{n,m} 等同于基本正则表达式的\{n,m\};
+ 匹配前一个字符出现一次或多次;
? 匹配前一个字符出现0次或者一次;
| 匹配逻辑或者,即匹配|前或后的字串;
() 匹配正则集合。
2.扩展正则表达式案例:
eg1:查找数字0出现1次或者2次的行;
eg2:查找包含至少一个0的行;
eg3:查找包含root或者admin的行。



浙公网安备 33010602011771号