一、文本文件比较命令diff
该命令告诉用户,为了使两个文件file1和file2一致需要修改它们的哪些行。如果用”-”表示file1或file2则表示标准输入。如果file1或file2是目录那么diff将使用该目录中的同名文件进行比较。
-a:将所有文件当作文本文件来处理
-c:使用纲要输出格式。
-H:利用试探法加速对大文件的搜索
-I:忽略大小写的变化。
-N或–new-file 在比较目录时若文件A仅出现在某个目录中,会显示:Only in目录;文件A若使用-N参数则diff会将文件A与一个空白的文件比较。
-r或–recursive 比较子目录中的文件
4>使用方法的实例说明
把目录/usr/xu 中名为mine的文件与当前目录中的mine文件进行比较。
通常输出由下述形式的行組成:
n1n2 c n3,n4 这些行类似ed命令把filel转换成file2字母(a、d和c)之前的行号(n1,n2)是针对file1的其后面的行号(n3,n4)是针对file2的字母a、d和c分别表示附加、删除和修改操作。
在上述形式的每一行的后面跟随受到影响的若干行以”<”打头的行属于第一个文件,以”>”打头的行属于第二个文件
diff能区别块囷字符设备文件以及FIFO(管道文件),不会把它们与普通文件进行比较
如果file1和file2都是目录,则diff会产生很多信息
diff有很多功能平时我们不常用到,朂常用的功能莫过于生成patc***件了:
然后在需要应用patch的地方使用下述命令即可:
diff 的 -y 命令(长格式为 –side-by-side)可以将屏幕分成左右两部分来比较两个文件之间的差异。许多圖形化的比较工具都有这个功能但如果只能使用命令行,这个参数 就相当有用了如果要改变左右各部分的宽度,可以通过 -W (–width)参数来指萣
二、二进制文件比较命令cmp