快速显示2个目录dir1,dir2下所有不同文件名称
diff -ruNaq dir1 dir2
diff -ruaq dir1 dir2(如果dir1和dir2中彼此都没有对方文件,那么将以only的形式human提示)
因为需要往terminal输出log,所以感觉会比bcompare慢,实际上用如下方法你就能知道diff有多快了
(当然diff -rNq和diff -rq效果和-ruNaq一样)
diff -ruNaq dir1 dir2 > /dev/null
生成patch
diff -ruNa dir1 dir2 > test.patch
———————————————————————————–
例如:
# ls test -R
test:
a b c
test/a:
aa
test/b:
bb
test/c:
# ls test1 -R
test1:
a b
test1/a:
aa
test1/b:
bb
# diff test test1
Common subdirectories: test/a and test1/a
Common subdirectories: test/b and test1/b
Only in test: c
# diff -r test test1
diff -r test/b/bb test1/b/bb
0a1
> 1
Only in test: c
# diff -rq test test1
Files test/b/bb and test1/b/bb differ
Only in test: c
# diff -rqN test test1
Files test/b/bb and test1/b/bb differ
# diff -rqNa test test1
Files test/b/bb and test1/b/bb differ
# diff -rqNau test test1
Files test/b/bb and test1/b/bb differ
———————————————————————————–
-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 显示版本信息
本文转自leonardos51CTO博客,原文链接:http://blog.51cto.com/leomars/1917042 ,如需转载请自行联系原作者