diff 用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。
使用方式 diff[参数][文件1或目录1][文件2或目录2]
常用参数:
-a或--text diff预设只会逐行比较文本文件。
-b或--ignore-space-change 不检查空格字符的不同。
-B或--ignore-blank-lines 不检查空白行。
-c或--context 显示全部内文,并标出不同之处。
-i或--ignore-case 不检查大小写的不同。
-y或--side-by-side 以并列的方式显示文件的异同之处。
-u,-U或--unified= 以合并的方式来显示文件内容的不同。
-数量 指定要显示多少行的文本
1、比较两个文件
上面的“3c3”表示1.php和2.php文件在3行内容有所不同;"5d4"表示第1.php文件第四行被删除
显示格式有三种提示
a - add
c - change
d - delete
2、并排格式输出
格式说明
“|”表示前后2个文件内容有不同
“<”表示后面文件比前面文件少了1行内容
“>”表示后面文件比前面文件多了1行内容
3、上下文输出格式
格式说明
“+” 比较的文件的后者比前着多一行
“-” 比较的文件的后者比前着少一行
“!” 比较的文件两者有差别的行
4、统一格式输出
它的第一部分,也是文件的基本信息:
--- 1.php 2012-08-11 23:09:05.569426268 +0800
+++ 2.php 2012-08-11 23:08:25.349533292 +0800
"---"表示变动前的文件,"+++"表示变动后的文件。
第二部分,变动的位置用两个@作为起首和结束。
@@ -1,7 +1,6 @@
前面的"-1,7"分成三个部分:减号表示第一个文件(即1.php),"1"表示第1行,"7"表示连续7行。合在一起,就表示下面是第一个文件从第1行开始的连续7行。同样的,"+1,6"表示变动后,成为第二个文件从第1行开始的连续6行。