diff命令也是比较两个文件内容的,但结果的显示与comm不一样,diff在结果中打印每一处改动。另外,diff还可以比较两个目录中文件的不同。
比较两个文件或目录的不同
diff [option] file1 file2
-b 不检查空格字符的不同 -B 不检查空白行 -i 不检查大小写的不同
我们还是用上一节comm比较过的两个文件:
[peter@ibi98 ~]$ diff file1 file2
3c3
< 3
---
> 2
结果的意思是文件1的第三行的3改变成了文件2的第3行的2。下面我们把文件2改成1、2、4再试一下:
[peter@ibi98 ~]$ cat >file2 1 2 4 [peter@ibi98 ~]$ diff file1 file2 3d2 < 3
结果的意思是文件1的第3行删除(删除的内容是3)后变成文件2。如果我们把文件1改成1、2:
[peter@ibi98 ~]$ cat >file1 1 2 [peter@ibi98 ~]$ cat file1 1 2 [peter@ibi98 ~]$ cat file2 1 2 4 [peter@ibi98 ~]$ diff file1 file2 2a3 > 4
结果的意思是文件1的第2行后添加一行(添加的内容是4)后变成文件2。
diff的结果里a、d和c分别表示添加、删除和修改。