1、diff
用法:
diff [options] files|directorys
输出信息:
[num1,num2][a|c|d][num3,num4]
num1,num2 #第一个文件中的行
a #添加
c #更改
d #删除
< #第一个文件中的内容
> #第二个文件中的内容
num3,num4 #第二个文件中的行
常用参数:
-b #忽略空格
-B #忽略空行
-i #忽略大小写
-c #显示文件所有内容并标识不同
-r #对比目录
-u #合并输出
打补丁
原文件消失
若要保留原文件
再补一次
2、patch
patch 原文件 补丁文件
-b #备份原文件
3、cut
cut
-d : #指定:为分隔符
-f #指定显示的列 5 第五列
3,5 第三和第五列
3-5 第三到第五列
5- 第五列以后
-5 到第五列
-c #指定截取的字符 (数字用法同-f)
测试:
ifconfig 网卡 可以显示此网卡的信息
显示信息中包含此网卡使用的ip地址
请用命令过滤此ip并在输出时只显示ip,其他信息不显示
4、sort
-n #纯数字排序
-r #倒序
-u #去掉重复
-o #输出到指定文件
-t #指定分隔符
-k #指定排序的列
5、uniq
-c #合并重复并统计重复个数
-d #显示重复的行
-u #显示唯一的行
6、tr
tr 'a-z' 'A-Z' #小写转大写
tr 'A-Z' 'a-z' #大写转小写
7、test
test=[ ] #[]相当于test命令
“test "$a" = "$b" ” = “ [ "$a" = "$b" ] ”
test数字对比
=
!=
-eq #等于
-ne #不等于
-le #小于等于
-lt #小于
-ge #大于等于
-gt #大于
test的条件关系
-a #并且
-o #或者
test对空的判定
-n #nozero 判定内容不为空
-z #zero 判定内容为空
test对于文件的判定
-ef #文件节点号是否一致(硬链)
-nt #文件1是不是比文件2新
-ot #文件1是不是比文件2老
-d #目录
-S #套接字
-L #软链接
-e #存在
-f #普通文件
-b #块设备
-c #字符设备
测试:
编写脚本完成以下条件:
file_check.sh在执行时
如果脚本后未指定检测文件,报错“未指定检测文件,请指定”
如果脚本后指定文件不存在,报错“此文件不存在”
当文件存在时,请检测文件类型并显示到输出中
8、&& ||
&& #符合条件作动作
|| #不符合条件作动作