个人学习记录使用
一、说明
patch命令和diff命令,往往是要搭配使用的。
patch 利用提供的补丁文件,给源文件打补丁
diff 比较两个文件,生成需要修改的补丁文件
二、diff命令
生成补丁文件
1. 命令格式
diff [option] A B > A_B.patch
option一般有以下几种
-N 如果是不存在的文件,就当做空文件。适合于无源文件的情况
-a 所有文件都单做文本文件处理
-u 输出每个修改位置的前后n行(默认是3),如可以指定 -u 5表示输出前后5行
-r 递归。diff会从两个目录中的所有文件都进行比较,包括子目录文件。
2.示例
将B相对于A修改过的部分生成补丁文件,即A是修改前,B是修改后
diff -Naur path_to_A/project_A path_to_B/project_B > proj.patch
三、patch命令
打补丁
1. 命令格式
patch [option] … [ORIGFILE [PATCHFILE]]
输入参数
-p num 表示patch相对于当前目录等级,数字表示略去路径的前几级目录
比如当前目录是同一级目录“patch -p0 < xxx.patch” ,在当前目录下更新
是在A目录之下“patch -p1 < xxx.patch”,不管当前第一层目录
是在A/B目录执行“patch -p2 < xxx.patch”