Linux下面文件及目录对比命令diff整理

linux 比较两个文件夹下的内容

diff -ruNa dir1 dir2
 example:
 diff -ruNa  /usr/u/2016/   /usr/u/test
可以用diff命令对比文档内容。
[语法]: diff [参数] 文件1 文件2
[说明]: 本命令比较两个文本文件,将不同的行列出来
-b 将一串空格或TAB 转换成一个空格或TAB
-e 生成一个编辑角本,作为ex 或ed 的输入可将文件1 转换成文件2
[例子]:
diff file1 file2
diff -b file1 file2
diff -e file1 file2 >edscript
diff 命令的常用参数
a 将所有文件当做文本文件来处理
b 忽略空格造成的不同
B 忽略空行造成的不同
q 只报告什么地方不同,不报告具体的不同信息
H 利用试探法加速对大文件的搜索
i 忽略大小写的变化
l 用pr对输出进行分页
r 在比较目录时比较所有的子目录
s 两个文件相同时才报告
v 在标准输出上输出版本信息并退出
实例:比较两个文件
代码如下:
[root@localhost test3]# diff log2014.log log2013.log
----------------------------------------------------------------------------
3c3

《 2014-03

---

》 2013-03

8c8

《 2013-07

---

》 2013-08

11,12d10

《 2013-11

《 2013-12
----------------------------------------------------------------------------
说明:上面的“3c3”和“8c8”表示log2014.log和log20143log文件在3行和第8行内容有所不同;“11,12d10”表示第一个文件比第二个文件多了第11和12行。
快速显示2个目录dir1,dir2下所有不同文件名称
diff -ruNaq dir1 dir2
diff -ruaq dir1 dir2(如果dir1和dir2中彼此都没有对方文件,那么将以only的形式human提示luther.gliethttp)
因为需要往terminal输出log,所以感觉会比bcompare慢,实际上用如下方法你就能知道diff有多快了(当然
diff -rNq和diff -rq效果和-ruNaq一样)
diff -ruNaq dir1 dir2 > /dev/null
生成patch
diff -ruNa dir1 dir2 > luther.gliethttp.patch
-----------------------------------------------------------------------------------
-a 把所有文件看出文本心事,并对它们进行逐行比较,即使它们看起来不是文件文件
-b 忽略空格
-B 忽略空白行
-i 忽略大小写
--brief 只报告两个文件是否相同,不报告详细的不同信息
-c 使用上下文输出格式
-d 改变算法,使得diff命令可能找到一个更小的文件差异
-e 产生一个将文件1变成文件2的“ed script”
-r 比较目录时递归比较子目录
-b 支持Unix的兼容性
-n RCS格式
-N 在目录比较中,如果一个文件只出现在第一个目录中,那么认为它在另外一个目录中也出现,并且为空
-p 显示不同的信息位于哪个C函数中
-P 在目录比较中,如果一个文件只出现在第二个目录中,那么认定它在另外一个目录中也出现,并且为空
--paginate 通过pr输出,并且标记页数
-q 不报告差异,只说明两者内容是否有差异
-s 当比较的两个文件相同时报告信息
-t 输出时,[tab]键按照空格键来输出
-T 输出时,[tab]键输出,而非空格键
-u 使用统一的输出格式
-y 输出使用对比格式

选择参数

-D<宏名字> 引入if-then-else输出格式来预处理宏名称
-s<文件> 比较文件时,从指定的文件进行比较
--from-file<文件> 同所有的操作数比较指定的文件,可以是目录
--new-group-format=<模式> 用指定的模式,按照 if-then-else方式,输出第二个文件中的一组行内容
--help 显示帮助信息
--version 显示版本信息
 
posted @ 2018-04-25 15:05  北方客888  阅读(1763)  评论(0)    收藏  举报