cmp file1 file2
cmp比较两个文件,给出差别字符的位置和行号。
比较方法:对两个文件的比较是逐字比较的。
diff file1 file
比较两个不同的文件或不同目录下的两个同名文件。
比较方法:diff试图找到file1和file2中连续相同行,这些相同行被改名为hunk的差别行所隔开。需要注意的是diff进行比较的单位是行,这点跟cmp不同,此外diff有不同的输出格式。
diff file1file2 : 普通输出格式:很少用来发布软件补丁。
diff -c numfile1 file2 :上下文输出格式
num代表上下文个数。注意,要正确执行patch必须给出至少
两个上下文行。
diff -Ufile1 file2: 统一输出格式。需要注意的是只有GNU diff能够生成统一格式的diffs文件,同时也只 有GNUpatch能够接受统一格式,所以,如果要发布的补丁的目标系统上没有GNU,diff和GUNpatch,那就不能使用统一格式,而应使用标准的上下文格式。
用diff命令创建补丁:
用diff命令创建补丁时,要在命令行指定输出格式为上下文或统一diff,并且在diff命令行中按老文件先于新文件的顺序输入文件名,输出文件名后缀应当是.diff或.patch。
diff -c oldfile newfile >file.patch
:生成一个上下文格式的diff。
diff -u oldfile newfile >file.patch :创建统一格式的diff。
使用补丁:
patch -p0<file.patch
-pNUM中的NUM是指定使用补丁前补丁中所包含的文件名中需要剥离的"/ "的重数。
若在安装完补丁后发现错误,则只要简单的在原命令行中加上-R选项后再安装一次,该补丁就能得到原来的文件。
diff file1 file
用diff命令创建补丁:
用diff命令创建补丁时,要在命令行指定输出格式为上下文或统一diff,并且在diff命令行中按老文件先于新文件的顺序输入文件名,输出文件名后缀应当是.diff或.patch。
diff -c oldfile newfile >file.patch
diff -u oldfile newfile >file.patch
使用补丁: