全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

如何在Linux下打patch(下)

时间:2023-07-30 15:37

人气:

作者:admin

标签: patch 

导读:diff 比较两个文件的不同,然后记录下来,也就是所谓的 diff 补丁。 diff [ options ] from - file to- file from-file:源文件 to-file:根据源文件修改后的文件 option: -u 显示有差异行的前后几行(上下...

diff

比较两个文件的不同,然后记录下来,也就是所谓的 diff 补丁。

diff [options] from-file to-file

from-file:源文件

to-file:根据源文件修改后的文件

option:

-u 显示有差异行的前后几行(上下文), 默认是前后各 3 行, 这样, patch 中带有更多的信息

-p 显示代码所在的 c 函数的信息

-N 选项确保补丁文件将正确地处理已经创建或删除文件的情况

-a 逐行比较文本文件

-r 比较子目录中的文件

打 patch

两个文件:需要打补丁的文件 a.c 和 patch 文件 test.patch

打补丁命令如下:

patch a.c < test.patch

实际操作如下:

图片

补充:

patch -RE < test.patch 取消 patch 对源文件的修改

patch -p1 < test.patch

p 表示跳过几级目录,0 标识不去掉为全路径,1 标识去掉第一层路径。路径信息包含了你的 Linux 源码根目录的名称,但其他人的源码根目录可能是其它名字,所以,打补丁时,要进入你的 Linux 源码根目录,并且告诉 patch 工具,请忽略补丁中的路径的第一级目录。

注意:patch -p 后面是不能带负数 的。不使用 p 参数的时候,patch 命令会 忽略 任何目录,直接使用文件。

多文件打 patch

本文是两个文件做比较,打 patch,比较简单。如果是一个工程,有多个文件修改,需要在 diff 后面增加两个属性:

-r 递归地对比一个目录和它的所有子目录(即整个目录树).

-N 如果某个文件缺少了,就当作是空文件来对比. 如果不使用本选项,当 diff 发现旧代码或者新代码缺少文件时,只简单的提示缺少文件。如果使用本选项,会将新添加的文件全新打印出来作为新增的部分。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信