目录
一. diff命令
作用:对比文件不同和文件补丁管理
1.语法格式 :
diff [options] files|dirtorys
输出信息:
[ num1 , num2 ][ a | c | d ][ num3 , num4 ]
| 输出信息 | 解释 |
|---|---|
| num1 , num2 | 第一个文件中的行 |
| a | 添加 |
| c | 更改 |
| d | 删除 |
| < | 第一个文件中的内容 |
| > | 第二个文件中的内容 |
| num3 , num4 | 第二个文件中的行 |
2.diff命令常用参数
| 常用参数 | 作用 |
|---|---|
| -b | 忽略空格 |
| -B | 忽略空行 |
| -i | 忽略大小写 |
| -c | 显示文件所有内容并标示不同 |
| -r | 对比目录 |
| -u | 合并输出 |


3.diff 生成补丁
二、patch打补丁
作用:打补丁,用补丁文件更新就文件
1 .
dnf install patch
安装patch补丁软件
2 .语法格式: patch 原文件 补丁文件
-b 备份原文件
三、cut截取命令
作用:截取并显示指定的列
- 常用参数
| -f | 显示指定的列 |
|---|---|
| -d | 指定分割符 |
| -c | 指定截取的字符串(数字的用法同 -f ) |
四、sort
作用:将文件内容按照指定的规律进行排序
- 常用参数
| -n | 纯属子排序 |
|---|---|
| -r | 倒叙 |
| -u | 去掉重复 |
| -o | 输出到指定文件 |
| -t | 指定分割符 |
| -k | 指定排序的列 |
五、uniq
作用:冗余统计
- 常用参数
| -d | 显示重复的行 |
|---|---|
| -c | 合并重复并统计重复个数 |
| -u | 显示唯一的行 |
练习:只获取主机的ip地址,不显示其他任何信息
ifconfig命令可以显示主机的网卡信息,ifconfig+网卡名称可以只显示此网卡的信息,网卡信息里包含了ip地址等信息。
1、ifconfig ens3 | head -n 2 |tail -n1|cut -d ” ” -f 10
2、ifconfig ens3 |awk ‘/inet>/{print $2}’
3、ifconfig ens3| head -n2|tail -n1 |cut -c 14-26
六、tr 字符写转换命令
作用:字符大小写转换,还适用于单个字符的转换
1.大小写转换
| tr ‘a-z’ ‘A-Z’ | 小写转大写 |
| tr ‘A-Z’ ‘a-z’ | 大写转小写 |

2. 单个字符或字符串的转换
注意:将要转换的字符的长度只能与被转换的字符长度相等
七、条件判断符号
作用:判断条件是否成立,可以优化输出
| && | 条件成功则执行动作 |
| || | 条件错误则执行其他的动作 |
八、条件检测命令test
- test数字对比 ,可用符号“[ ]”代替 ” test ”
| 参数 | 符号 | 含义 |
|---|---|---|
| -a | 并且(全真为真) | |
| -o | 或者(一真为真) | |
| -z | 空 | |
| -n | 非空 | |
| -ge | >= | 大于等于 |
| -gt | > | 大于 |
| -lt | < | 小于 |
| -le | <= | 小于等于 |
| -eq | = | 等于 |
| -ne | != | 不等于 |

- test对于文件的判定
| 参数 | 含义 |
|---|---|
| -ef | 文件节点号是否一致 |
| -nt | 文件1比文件2早建立 |
| -ot | 文件1建立时间比文件2晚 |
| -d | 是目录 |
| -S | 是套接字文件 |
| -L | 是软链接 |
| -e | 文件或目录存在 |
| -f | 是普通文件 |
| -b | 是块设备文件 |
| -c | 是字符设备文件 |

练习:test脚本测试
题目:编写脚本file.check.sh 。执行时,若脚本后面未指定检测文件,报错“未指定检测文件,请指定”,若脚本后指定的文件不存在时报错,“此文件不存在”,若文件存在请检测文件类型并输出。
注
:软连接和文件,检测出来都是文件类型,所以先检测软连接,再检测文件。

测试