1. 创建2个文件 1.txt 和 2.txt 并在1.txt基础上修改成为2.txt

book@100ask:~/patch$ ls
1.txt 2.txt
book@100ask:~/patch$ cat 1.txt
111
222
333
book@100ask:~/patch$ cat 2.txt
111aaa
22
333
444
book@100ask:~/patch$

2.使用 diff -uprN 创建1.txt的补丁文件(1.patch)

book@100ask:~/patch$ diff -uprN 1.txt 2.txt > 1.patch
book@100ask:~/patch$ ls
1.patch 1.txt 2.txt

解析diff 命令参数

命令 : diff
-p  //在每一更改处显示c函数,方便程序员定位代码
-u  //按补丁统一格式输出
-r  //递归子目录
-N  //对于不存在的文件或者是空白文件和新增文件,在补丁文件里面包含新的文件内

分析补丁文件(1.patch)

"---" 开头表示原始文件
"+++" 开头表示新文件
"@@" 开头表示补丁文件的范围并以"@@"结尾,-开头表示原始文件的行号范围,+开头表示新文件的行号范围
"+" 开头表示原始文件不存在,在新文件添加
"-" 开头表示原始文件存在,但在新文件删除了
其他的为原始文件和新文件都有的内容

book@100ask:~/patch$ ls
1.patch 1.txt 2.txt
book@100ask:~/patch$ cat 1.patch
--- 1.txt 2021-05-23 08:09:25.887150622 -0400 //原始文件
+++ 2.txt 2021-05-23 08:13:10.707561369 -0400 //新文件
@@ -1,3 +1,4 @@
-111        //删除内容
-222        //删除内容
+111aaa      //新增内容
+22         //新增内容
333       //不变内容
+444 //新增内容
book@100as
 
 

linux如何patch打补丁的更多相关文章

  1. 【转】Linux下patch打补丁命令

    [转]Linux下patch打补丁命令 转自:http://www.cnblogs.com/noaming1900/archive/2010/10/28/1863282.html 此命令用于为特定软件 ...

  2. Linux下patch打补丁命令

    此命令用于为特定软件包打补丁,他使用diff命令对源文件进行操作. 基本命令语法: patch [-R] {-p(n)} [--dry-run] < patch_file_name p:为pat ...

  3. linux下patch命令使用详解---linux打补丁命令

    http://blog.csdn.net/pashanhu6402/article/details/51849354 语 法:patch [-bceEflnNRstTuvZ][-B <备份字首字 ...

  4. diff生成补丁与patch打补丁

    1.使用diff生成补丁: diff是Linux下的文件比较命令,参数这里就不说了,直接man一下就行了,不仅可以比较文件,也可以比较两个目录,并且可以将不同之处生成补丁文件,其实就是一种打补丁的命令 ...

  5. Linux diff patch

    /***************************************************************************** * Linux diff patch * ...

  6. linux命令: patch

    一. 针对单文件的patch: 我们以mkprj.sh.1和mkprj.sh两个文件为例: [root@localhost tst]# lsmkprj.sh.1  mkprj.sh 看两个文件的差异: ...

  7. 四十六.系统审计 服务安全 Linux安全之打补丁

    192.168.4.51   1.部署audit监控文件 使用audit监控/etc/ssh/sshd_config 当该文件发生任何变化即记录日志 通过手动和ausearch工具查看日志内容   1 ...

  8. patch 打补丁,和diff 生成制作补丁

    一.diff 命令: diff命令就是比较两个文件的差异,然后生成差异文件,即补丁文件. 参数:diff --help获得,最常用的 1.-N --new-file 在比较时,如果没有就拿一个空的文件 ...

  9. Python Monkey patch猴子补丁

    monkey patch (猴子补丁)   用来在运行时动态修改已有的代码,而不需要修改原始代码. 简单的monkey patch 实现:[python] #coding=utf-8 def orig ...

随机推荐

  1. springboot源码解析-管中窥豹系列之BeanDefine如何加载(十三)

    一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot ...

  2. WPF 反射加载Geometry几何图形数据图标

    相信大家在阅读WPF相关GitHub开源项目源码时都会看见一串串这种数据 这种Geometry数据就是几何图形数据 为什么要用Geometry数据做图标? 有一种做法是使用ttf字体文件代替,不过使用 ...

  3. SpringCloud+Nacos实现服务配置中心(Hoxton版本)

    关于 Nacos Spring Cloud 的详细文档请参看:Nacos Config和Nacos Discovery. 通过 Nacos Server 和 spring-cloud-starter- ...

  4. ubuntu16.04 下同时打开多个终端窗口

    reference :https://forums.solydxk.com/viewtopic.php?t=5139 reference : http://blog.51cto.com/huqilon ...

  5. Android Activity间跳转与传递数据

    1 概述 Activity之间的跳转主要使用 startActivity(Intent intent); startActivityForResult(Intent intent,int reques ...

  6. JDBC_09_Statement 和 PreparedStatement

    Statement 和 PreparedStatement * Statement数据库操作对象存在SQL注入问题,而PreparedStatement预编译数据库操作对象解决了SQL注入问题. * ...

  7. SpringCloud(七)Stream消息驱动

    Stream消息驱动 概述 屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型 官网:https://cloud.spring.io/spring-cloud-static/spring-cl ...

  8. 1-3 Postman 注册账号与登录

    1.为什么要注册postman账号 注册postman账号是免费的.当注册并登陆一个postman账号后,用户可以获得如下权限. (1)同步和备份历史,集合,环境,和预置头. (2)可以轻松的处理来自 ...

  9. js收藏展开与隐藏,返回顶部

    var a = document.getElementById("more");var b = document.getElementById("moreList&quo ...

  10. 【工具类】获取Http请求IP的工具类

    public class IpAddressUtil { public static String getIpAddr(HttpServletRequest request){ String ipAd ...