linux patch命令的含义

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DittyChen/article/details/86715085

我们一般打补丁会使用patch -p0 <d.patch命令或者patch -p1 <d.patch这两个命令中的一个,这个-p0和-p1到底是什么意思呢?

这个与patch文件的生产有关,求知欲强的同学可以去看diff命令,diff生成patch文件的时候会记录源文件目录(即需要打patch的文件)命令diff -rc DIR_A/A DIR_B/B > C ,在使用这条命令创建patch后会记录A的目录,然后拿到C文件后,想给A文件打patch,进入A文件目录后,需要执行patch -p1 <C,为什么不是patch -p0 <C,因为当前已经是A目录,生成patch的diff执行目录在A文件的上一级,也就是C中记录的需要打patch的目录为./DIR_A/A,因此patch后边跟的p0或者p1参数就是调整这个文件目录的,也就是需要打patch文件的目录,p0 不调整记录路径,去./DIR_A/A查找A去打patch,p1会去掉 一级/ 目录,去./A也就是当前目录查找A并去打patch。

猜你喜欢

转载自blog.csdn.net/DittyChen/article/details/86715085