跳到主要内容

Linux patch 命令 - 应用文件补丁

介绍

patch 命令用于修补文件(给文件打补丁)。Linux 早期正是使用 patch 命令来合并代码。

语法

patch [options] [originalfile [patchfile]]

选项

  • -i <patchfile>--input=<patchfile> :指定补丁文件。
  • -p<num>--strip=<num> :设置欲剥离几层路径名称(文件名是可以包含路径的,与 diff 命令配合)。
  • -E--remove-empty-files :删除应用补丁后为空文件的文件。
  • -o <outfile>--output=<outfile> :输出到一个文件而不是直接覆盖文件。

示例

使用 patch 命令将文件 testfile1 升级,其升级补丁文件为 testfile.patch(补丁文件可由 diff 命令生成):

patch -p0 testfile1 testfile.patch 

在 Linux 开发中也常常会用到 patch 命令,比如内核打上 PREEMPT_RT 实时补丁:

patch -p1 < patch-5.4.47-rt28.patch