如何在Linux中运行“patch”命令?
“patch”是用于将补丁文件添加到源代码或文本文件的命令。它将输入作为补丁文件并将差异应用于原始文件。我们使用“diff”工具来获得差异。
“diff”缩写为“differences”,用于比较两个文件的内容并列出标准输出的变化。
一组源代码组成了一个软件。开发人员构建随时间演变的源代码。为每次更新获取新文件是不现实或耗时的。因此,最安全的方法是仅分发改进。对旧文件进行修改,然后为新软件版本创建新的或修补的文件。
本指南向您展示如何使用“diff”命令生成补丁文件,然后使用“patch”命令应用它。
句法 :
“patch”命令的语法如下:
$ patch -pnum <patchfile>
使用“diff”创建补丁文件:
源代码文件1:
首先,需要两个不同版本的源代码来创建补丁文件。我创建的源代码文件名为“myfile.c”:s
int main() {
printf("Hello LinuxHint\n");
}
源代码文件2:
现在,将 myfile.c 的内容复制到 new_myfile.c 中,使用:
在新创建的文件中进行一些更改:
void main(){
printf(" Hello Linux hint");
printf("Welcome to linux");
}
检查差异:
让我们创建一个名为 myfile.patch 的补丁文件:
您可以通过执行以下命令来打印补丁文件:
应用补丁文件:
要应用补丁,请使用:
确保补丁文件位于源代码文件所在目录中。
在应用补丁之前进行备份:
使用“-b”选项构建补丁文件的备份:
设置备份文件版本
如果您需要对单个备份文件进行多个备份,请使用“-V”选项。它设置每个备份文件的版本号。执行下面给出的命令:
验证补丁文件
如果您想验证或观察修补的结果,请使用“–dry-run”选项。它不会对原始文件进行任何修改:
反转/撤消补丁
“-R”选项用于反转或撤消已应用的补丁。
$ ls –l myfile.c
$ patch –R < myfile.patch
$ ls –l myfile.c
结论:
在Linux操作系统中,“patch”是一个命令,允许我们将补丁文件应用于源代码或配置文件。补丁文件用于软件更新目的。原始文件和新文件之间的差异保存在补丁文件中,“diff”命令用于获取差异或补丁。我们讨论了“diff”和“patch”命令的用法以及许多选项,例如进行备份、试运行和反转已应用的补丁。