原文:
patch是为了修改目录下的某个文件而打的。
1.[root@kll ~]# diff -Nuar Desktop/lmbench-3.0-a9.old/ Desktop/lmbench-3.0-a9>add-version-comment.patch
//注意,这里的顺序一定是diff -Nuar old-file new-file。旧文件在前。
2.[root@kll ~]# cat add-version-comment.patch
diff -Nuar Desktop/lmbench-3.0-a9.old/src/version.h Desktop/lmbench-3.0-a9/src/version.h
--- Desktop/lmbench-3.0-a9.old/src/version.h 2010-10-28 17:04:26.000000000 +0800
+++ Desktop/lmbench-3.0-a9/src/version.h 2010-10-28 17:05:53.000000000 +0800
@@ -1,2 +1,4 @@
+//add a comment line. 2010-10-28
+//
#define MAJOR 3
#define MINOR -9 /* negative is alpha, it "increases" */
[root@kll ~]#
3.[root@kll ~]# cd Desktop/lmbench-3.0-a9.old/
//进入到需要打patch的目录下。
4.[root@kll lmbench-3.0-a9.old]# patch -p2 <../../add-version-comment.patch
patching file src/version.h
//从上面的patch可以看到,我们想要修改的文件是version.h,将其前面的两层目录去掉,就是-p2。
//如果是在Desktop目录下执行的diff命令,则生成的patch文件路径就没有Desktop,变成“--- lmbench-3.0-a9.old/src/version.h”,则此时的-p2将变成-p1,为patch -p1<../../add-version-comment.patch
[root@kll lmbench-3.0-a9.old]#
1.[root@kll ~]# diff -Nuar Desktop/lmbench-3.0-a9.old/ Desktop/lmbench-3.0-a9>add-version-comment.patch
//注意,这里的顺序一定是diff -Nuar old-file new-file。旧文件在前。
2.[root@kll ~]# cat add-version-comment.patch
diff -Nuar Desktop/lmbench-3.0-a9.old/src/version.h Desktop/lmbench-3.0-a9/src/version.h
--- Desktop/lmbench-3.0-a9.old/src/version.h 2010-10-28 17:04:26.000000000 +0800
+++ Desktop/lmbench-3.0-a9/src/version.h 2010-10-28 17:05:53.000000000 +0800
@@ -1,2 +1,4 @@
+//add a comment line. 2010-10-28
+//
#define MAJOR 3
#define MINOR -9 /* negative is alpha, it "increases" */
[root@kll ~]#
3.[root@kll ~]# cd Desktop/lmbench-3.0-a9.old/
//进入到需要打patch的目录下。
4.[root@kll lmbench-3.0-a9.old]# patch -p2 <../../add-version-comment.patch
patching file src/version.h
//从上面的patch可以看到,我们想要修改的文件是version.h,将其前面的两层目录去掉,就是-p2。
//如果是在Desktop目录下执行的diff命令,则生成的patch文件路径就没有Desktop,变成“--- lmbench-3.0-a9.old/src/version.h”,则此时的-p2将变成-p1,为patch -p1<../../add-version-comment.patch
[root@kll lmbench-3.0-a9.old]#