目录
一. 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 。执行时,若脚本后面未指定检测文件,报错“未指定检测文件,请指定”,若脚本后指定的文件不存在时报错,“此文件不存在”,若文件存在请检测文件类型并输出。
注
:软连接和文件,检测出来都是文件类型,所以先检测软连接,再检测文件。
测试