1、diff
用法:
diff [options] file | directorys
#对比两个文件的不同
输出信息:
[num1,num2][a|c|d][num3,num4]
num1,num2 #第一个文件中的行
a #添加
c #更改,对应的字符不同
d #删除
< #第一个文件中的内容
> #第二个文件中的内容
nmu3,num4 #第二个文件中的行
常用参数:
-b #忽略空格
-B #忽略空行
-i #忽略大小写
-c #显示文件所有不同并且标注不同
-r #对比目录
-u #合并输出
diff westos lee
diff lee westos
diff -u westos lee
diff -b westos lee
diff -B westos lee
diff -bB westos lee
diff -Bi westos lee
diff -c westos lee
2、patch
patch 原文件 补丁文件
-b 备份原文件
diff -u westos lee > file.path
dnf install patch -y
patch westos file.path
patch -b westos file.path
3、cut
cut
-d : #指定:为分割符
-f 1 #指定第一列
-c #指定截取的字符(数字用法同f)
cut -d I -f 1 westos #剪切westos中以:为分隔符的第一列
cut -d I -f 1-3 westos #剪切westos中以:为分隔符的第一到三列
cut -d I -f 1,3 westos #剪切westos中以:为分隔符的第一和三列
cut -d I -f 3- westos #剪切westos中以:为分隔符的第三列之后
cut -d I -f -3 westos #剪切westos中以:为分隔符的第三列之前
cut -c 1-4 westos 剪切westos中的第一到四列
4、sort
-n #纯数字排序
-r #倒叙
-u #去掉重复
-o #输出到指定文件
-t #指定分割符
-k #指定排序的列
sort -n westos
sort -nr westos #纯数字倒叙排列
sort -nr westos -o westosfile #纯数字倒叙排列且输出到westosfile文件中
sort -n westos
sort -n -t : -k 2 westos
sort -un westos #纯数字排序且去掉重复的
5、uniq
-c #合并重复并统计
-d #显示重复的行
-u #显示唯一的行
sort -n westos | uniq -c
sort -n westos | uniq -d
sort -n westos | uniq -u
测试:
ifconfig 网卡 可以显示此网卡的信息
显示信息中包含此网卡使用的ip地址
请用命令过滤此ip并在输出时只显示ip其他信息不显示
ifconfig ens160 | head -n 2 | tail -n 1 | cut -d ’ ’ -f 10
ifconfig ens160 | cut -d ’ ’ -f 10 | sed -n ‘2p’
#sed -n ‘2p’ 指定第二行
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 #字符设备
vim ~/.vimrc #编辑vim配置文件
set ts=2 ai #缩进为两个空格
vim中
-e#执行什么动作
32m时绿色
31m为红色
测试:
编写脚本完成以下操作
check_user.sh在执行时
如果脚本后面未指定用户,报错
如果脚本后面指定用户不存在,报此用户不存在
如果用户存在时,报用户存在
sh check_user.sh
[ -z "$*" ] && { #test判断内容为空时
echo error #报error
}||{ #否则
id $* &> /dev/null &&{ #执行id 输入内容 若执行成功
echo $* is exist ! #报用户存在
}||{ #否则
echo $* is not exist ! #报用户不存在
}
}
测试:
file_check.sh在执行时
如果脚本后未指定检测文件报错“未指定检测文件,请指定”
如果脚本后指定文件不存在报错 “此文件不存在”
如果文件存在时请检测文件类型并显示到输出中
8、条件判断
&& #前面命令执行成功
| | #否则,前面命令执行失败则