1.diff
意义:用于比较文件或目录内容。
用法:diff [options] files | directorys
输出信息: [num1,num2] [a|c|d] [num3,num4]
例如:
num1,num2 | 指第一个文件里的行 |
---|---|
a | 添加 |
c | 更改 |
d | 删除 |
< | 指第一个文件中的内容 |
> | 指第二个文件中的内容 |
num3,num4 | 指第二个文件中的行 |
常用参数[options]:
-b | 忽略空格 |
---|---|
-B | 忽略空行 |
-i | 忽略大小写 |
-c | 显示文件所有内容并标示不同 |
-r | 对比目录 |
-u | 合并输出 |
1) -b ##忽略空格
2)-B ##忽略空行
3)-i ##忽略大小写
4) -c ##显示文件所有内容并标示不同
5)-r ##对比目录
6)-u ##合并输出
2.patch
意义:用来打补丁
方法: patch 原文件 补丁文件
首先生成补丁文件haha.path:diff -u haha haha.1 > haha.path
下载patch安装包:
dnf install patch -y
现在给文件haha打补丁
-b ##备份原文件
从上面的ls 中可以看到原文件已经被覆盖,若要保留原文件则:
patch -b haha haha.path
3.cut
意义:用于一列字符的截取
常用参数:
-d : ##指定 :为分隔符,分隔符可以任意取
-f ##指定显示的列,如:5 指第五列;3,5指第三和第五列;3-5指第三到第五列;5- 指第五列到最后;-5 指从第一到第五列;
-c ##指定截取的字符 (数字用法同 -f)
4.sort
-n | 纯数字排序 |
---|---|
-r | 倒叙 |
-u | 去掉重复 |
-o | 输出到指定文件 |
-t | 指定分隔符 |
-k | 指定排序的列 |
1) -n ##纯数字排序
2) -r ##倒叙排序
3)-u ##去掉重复
4)-o ##输出到指定的文件
5)-t ##指定分隔符; -k ##指定排序的列
5.uniq
意义:对重复字符做相应的处理
-c | 合并重复并统计重复个数 |
---|---|
-d | 显示重复的行 |
-n | 显示唯一的行 |
-d ##显示重复的行
-u显示单独的一行
6.tr
tr 'a-z' 'A-Z' ##小写转大写
tr 'A-Z' 'a-z' ##大写转小写
7.test
意义:用来做判断
test = [ ] ##[ ]就相当于test命令
test 数字对比:
= | 等于 |
---|---|
!= | 不等于 |
-eq | 等于 |
-ne | 不等于 |
-le | 小于等于 |
-lt | 小于 |
-ge | 大于等于 |
-gt | 大于 |
1) = 、!=
2) -eq ##等于
3) -ne ##不等于
4) -le ##小于等于
5) -ge ##大于等于
test的条件关系
-a | 并且 |
---|---|
-o | 或者 |
test 对空的判定
-n | nozero 判定内容不为空 |
---|---|
-z | zero 判定内容为空 |
test 对于文件的判定
-ef | 文件节点号是否一致(硬链 ) |
---|---|
-nt | 文件1是不是比文件2新 |
-ot | 文件1是不是比文件2老 |
-d | 目录 |
-S | 套结字 |
-L | 软链接 |
-e | 存在 |
-f | 普通文件 |
-b | 块设备 |
-c | 字符设备 |
1) -ef ##文件节点号是否一致
2) -nt ,-ot
3) -d ##目录
4) -e ##存在
5) -f ##普通文件
6) -L ##软链接
7)-S ##套结字
8)-b ##块设备
8.&&与 ||
&& ##指符合条件动作
|| ##指不符合条件动作