diff 命令用法
1、”-u”:表示在比较结果中输出上下文中一些相同的行,这有利于人工定位
2、“-r“:表示递归比较各个子目录下的文件
3、“-N“:将不存在的文件当作空文件
4、“-w“:忽略对空格的比较
5、“-B“:忽略对空行的比较
例如:假设Linux-2.6.22.6目录中是原始的内核,Linux-2.6.22.6_ok目录中是修改后的内核,可以使用以下命令制作补丁文件linux-2.6.22.6_ok.diff(原始目录在前,修改过的目录在后)
diff –urNwB linux-2.6.22.6 linux-2.6.22.6_ok > linux-2.6.22.6.diff
由于linux-2.6.22.6是标准的代码,可以从网上自由下载,要发布的linux-2.6.22.6_ok中所做的修改时,只需要提供补丁文件linux-2.6.22.6_ok.diff(它通常是很小的)
patch 命令被用来打补丁----就是依据补丁文件来修改原始文件。比如对于上面的例子,可以使用以下命令将补丁文件linux-2.6.22.6_ok.diff 应用到原始目录linux-2.6.22.6上去。假设linux-2.6.22.6_ok.diff 和linux-2.6.22.6位于同一个目录下.
cd linux-2.6.22.6
patch -p1 < ../linux-2.6.22.6_ok.diff
patch 命令中最重要的选项是“-pn”: 补丁文件中指明了要修改的文件的路径,“-pn”表示忽略路径中第n个斜线之前的目录。
欢迎交流
如有转载请注明出处
新浪博客:http://blog.sina.com.cn/u/2049150530
博客园:http://www.cnblogs.com/sky-heaven/
知乎:http://www.zhihu.com/people/zhang-bing-hua