diff的功能就是用来比较两个文件的不同,然后记录下来,也就是所谓的diff补丁。
语法格式:
diff 【选项】 源文件(夹) 目的文件(夹)
通过两个文件差异比较,从目的文件(夹)分离出差异(补丁),以便给需要补丁的用户。
(源文件具有通用性,而目的文件则是特定的修改,通过分离出diff补丁,简单快速实现从通用到特定应用平台或功能缺陷等的修改和配置,实现“升级”)
三个最为常用选项:
-r 是一个递归选项,设置了这个选项,diff会将两个不同版本源代码目录中的所有对应文件全部都进行一次比较,包括子目录文件。
-N 选项确保补丁文件将正确地处理已经创建或删除文件的情况。
-u 选项以统一格式创建补丁文件,这种格式比缺省格式更紧凑些。
---------------------------------------------------------------------
patch
NAME
patch - apply a diff file to an original
SYNOPSIS
patch [options] [originalfile [patchfile]]
but usually just
patch -pnum
patch就是利用diff制作的补丁来实现源文件(夹)和目的文件(夹)的转换(换过去或者换回来)。这样说就意味着你可以有源文件(夹)――>目的文件(夹),也可以目的文件(夹)――>源文件(夹)。下面介绍几个最常用选项:
-p0 选项要从当前目录查找目的文件(夹)
-p1 选项要忽略掉第一层目录,从当前目录开始查找。
-----------------------------------------------------------------------
简单示例:
$ diff -urN test0 test1 > test1.patch$ patch -p0 < test1.patch 默认情况下patch会自动根据补丁文件中的记录,向test0打补丁,故不需要指定。
(去除补丁,恢复旧版本: $ patch -RE -p0 < test1.patch )
patch -d u_dir --backup -p0 ----------------------------------------------------------------------------------------------------------------------------
参考文章:
linux下patch的制作和应用制作补丁
阅读(1246) | 评论(0) | 转发(0) |