目录
一.diff:
输出信息:
[num1,num2][a|c|d][num3,num4]
num1,num2 ##第一个文件中的行
a ##添加
c ##更改
d ##删除
< ##第一个文件中的内容
> ##第二个文件中的内容
num3,num4 ##第二个文件中的行
命令: diff -b file file1
-b ##忽略空格的不同
-B ##忽略空行
-i ##对比忽略大小写
-c ##显示文件所有内容并标识有不同的行
-r ##对比目录内容不同
-u ##生成补丁 diff -u file file1 > 随便起
dnf install patch ##打补丁用到的工具
二.patch :
dnf install patch ##打补丁用到的工具
patch westos(原文件) westos.path(补丁文件)
当用patch命令打补丁后原文件内容被修改且不会被备份
-b ##备份原文件
三.cut :
cut
-d : ##指定:为分割符
-f ##指定查看的列
-c ##指定截取的字符(数字用法同-f)cut -d : -f 1,7 passwd ##第一列和第七列,并指定:为分割副
cut -d : -f 1-3 passwd ##第一列到第三列,并指定:为分割副
cut -d : -f 3- passwd ##第三列到最后一列,并指定:为分割副
cut -d : -f -3 passwd ##第一列到第三列,并指定:为分割副
cut -c 1-4 passwd
四.sort:
sorg file ##排序file文件中每一列的第一个字符
-n ##输数字排序
-r ##倒叙
-u ##去掉重复
-o ##输出到指定文件 sort -nur westos -o test
-t ##指定分割副 sort -n -t : -k 2 westos
-k ##指定排序的列
五.uniq :
##配合sort使用
-c ##合并重复并统计重复个数 sort -n westos | uniq -c
-d ##显示重复的行
-u ##显示唯一的行
练习:
1.用过滤信息使ifconfig命令只显示其ip,不现实其他信息
2.找出能登陆系统用户中UID最大的用户,并显示其名称
六.tr :
tr 'a-z' 'A-Z' ##小写转大写
tr 'o' 'x' ##o转化为x
七.test :
test = [] ##[]就相当于test命令
"test $a = $b " = [ "$a" = "$b"]
[ "$a" = "$b" ] && echo yes || echo no 等同于 test "$a" = "$b" && echo yes || echo no 在书写[]内容时,两边必须有空格,元素要用引号引导起来
test数字对比 :
test数字对比
=
!=
-eq ##等于 [ "$a" -eq "$b" ] && echo yes || echo no
-ne ##不等于
-le ##小于等于
-lt ##小于
-ge ##大于等于
-gt ##大于
test的条件关系 :
-a ##并且 [ "$a" -gt "$b" -a "$a" -lt "$b" ] && echo yes || echo no
-o ##或者 [ "$a" -gt "$b" -o "$a" -lt "$b" ] && echo yes || echo no
test对空的判定 :
-n ##判定内容不为空 [ -n "$a" ] && echo yes || echo no
-z ##判定内容为空 [ -z "$a" ] && echo yes || echo no
test对与文件的判定
-ef ##文件节点是否一致 [ "/mnt/file" -ef "/mnt/file1" ] && echo yes || echo no
-nt ##文件1是不是比文件2新 [ "/mnt/file" -nt "/mnt/file1" ] && echo yes || echo no
-ot ##文件1是不是比文件2老 [ "/mnt/file" -ot "/mnt/file1" ] && echo yes || echo no
-d ##目录
-S ##套接字
-L ##软连接 ln -s
-e ##存在 [ -e "/mne/qq" ] && echo yes || echo no
-f ##普通文件 [ -f "/mnt/qq1" ] && echo yes || echo no
-b ##快设备 [ -b "/dev/vda" ] && echo yes || echo no
-c ##字符设备 [ -c "/dev/pts/0" ] && echo yes || echo no
八. && ||
&&表示成功
||表示不成功
测试 :
编写脚本file_check.sh在执行时,如果脚本后未指定检测文件报错“未指定检测文件,请指定”,如果脚本后面指定文件不存在,报错“此文件不存在”,当文件存在时清检测文件类型并显示到输出中