格式:diff [options] target1 target2
选项:
-b #不检查空格字符
-B #不检查空白行
-c #显示全部内容并标出不同
-i #不检查大小写不同
-q #显示是否存在不同
-r #比较子目录文件
-u #以合并的方式显示文件内容不同(可重定向输出结果用于对文件进行打补丁)
例
(1)diff file1 file2
比较文件不同之处
、
结果分析
表示第一个文件的第一行和第二个文件的第一行修改后便可相同
[n1,n2][a|c|d][n3,n4]
n1,n2为第一个文件行数
n3,n4为第二个文件行数
a添加
c修改
d删除
<第一个文件内容
>第二个文件内容
(2)diff -b file1 file2
忽略文件空格linux常用命令linux常用命令,文件内容需本身存在空格
(3)diff -c file1 file2
显示全部内容并显示不同
(4)diff -q file1 file2
查看文件是否存在不同
(5)diff -i file1 file2
比较文件忽略大小写
两文件存在不同,但忽略大小写时判断,文件便相同
(6)diff -r dir1 dir2
比较目录下子文件
显示存在不同的结果
安装patch
命令:yum install patch
命令:diff -u file1 file2
以合并的形式查看文件的不同
将输出内容进行重定向用于补丁文件
命令:diff -u file1 file2 > file.path
对file2文件进行打补丁
命令:patch file2 file.path
打完补丁之后两文件相同
主要用于字符的截取
格式:cut [选项][参数]
选项:
-d 指定分隔符
-f 指定字段内容
-c 指定范围内字符
参数:
指定进行过滤的目标
例:
将/etc/passwd文件以:作为分隔符,第一列进行显示
命令:cut -d ":" -f 1 /etc/passwd
针对文件的内容以行进行排序
参数:
-n 按照数值大小
-r 倒序
-u 去除重复
-o 输出到指定文件
-t 指定分隔符
-k 指定排序的列
例:
sort将文件中每一行为单位进行比较
命令:sort file1
去除重复行进行排序
命令:sort -u file1
按照数值大小进行排序
命令:sort -n file2
用于检查和删除文件中重复的行
若单独使用该命令,重复行需相邻,否则判断为不同
参数:
-u 显示唯一行
-d 显示重复行
-c 显示行出现次数
例:
显示唯一行
命令:uniq -u file1
显示重复行
命令:uniq -d file1
显示行出现次数
命令:uniq -c file1
抓取last -i 显示内容中登陆最多ip
命令:last -i |grep 0.0.0.0 -v| grep wtmp -v | cut -d " " -f 14 | uniq -c | sort -rn |head -n 1
grep 反向过滤
cut 对字符截取
uniq 检查重复行
sort 倒序并排序
&&执行条件成功后执行
||执行条件失败后执行
测试:编写ping命令脚本成功显示xxx.xxx.xxx.xxx is up
#!/bin/bash
ping -w1 -c1 $1 &&echo $1 is up || echo $1 is down
-w1 表示执行ping一次