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 ##指定显示的列
- cut -d : -f 5 第五列
- cut -d : -f 3,5 3和5列|
- cut -d : -f 3-5 3到5列
- cut -d : -f 5- 第五列以后
- cut -d : -f -5 到第五列
- -c ##指定截取的字符(数字用法同-f)
练习:ifconfig 网卡
可以显示此网卡的信息
显示信息中包含此网卡使用的ip地址
请用命令过滤此ip并在输出时只显示ip其他信息不显示
ifconfig ens160 | grep "inet " | tr -s " " |cut -d " " -f 3
4. sort命令
sort的常用参数:
- -n ##纯数字排序
- -r ##倒叙
- -u ##去掉重复
- -o ##输出到指定文件
- -t ##指定分隔符
- -k ##指定排序的列
练习:
ls -l 目录 可以显示目录中所有文件的属性
按照文件大小进行排序并找出最大的2个文件并显示其名称
ls -lS /etc/audit/ | head -n 3 | tail -n 2 | tr -s ' ' | cut -d ' ' -f 9
ls -l /etc/audit/ | tr -s ' ' | sort -t ' ' -rnk 5 | head -n 2 | cut -d ' ' -f 9
5. uniq命令
参数:
- -c #合并重复并统计重复个数
- -d #显示重复的行
- -n #显示唯一的行
6. tr 命令
- tr 'a-z' 'A-Z' ##小写转大写
- tr 'A-Z' 'a-z' ##大写转小写
7. test
test = [] ## test $a = $b 等价于 [ "$a" = "$b" ]
test数字对比
- =
- !=
- -eq ##等于
- -ne ##不等于
- -le ##小于等于
- -lt ##小于
- -ge ##大于等于
- -gt ##大于
test的条件关系
- -a ##and并且
- -o ##or或者
test对空的判定
- -n ##nozero 判定内容不为空
- -z ##zero 判定内容为空
test对于文件的判定
- -ef ##文件节点号是否一致(硬链)
- -nt ##文件1是不是比文件2新
- -ot ##文件1是不是比文件2老
- -d ##目录 -S ##套结字
- -L ##软连接 -e ##存在
- -f ##普通文件
- -b ##快设备
- -c ##字符设备
练习:
编写file_check.sh脚本
在执行时 如果脚本后未指定检测文件报错“未指定检测文件,请指定”
如果脚本后指定文件不存在报错“此文件不存在”
当文件存在时请检测文件类型并显示到输出中
8. &&和||
- && 符合条件作动作
- || 不符合条件作动作