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. C#异步编程由浅入深(一)

    一.什么算异步?   广义来讲,两个工作流能同时进行就算异步,例如,CPU与外设之间的工作流就是异步的.在面向服务的系统中,各个子系统之间通信一般都是异步的,例如,订单系统与支付系统之间的通信是异步的 ...

  2. Mysql之锁机制

    全局锁 全局锁就是对整个数据库实例加锁.MySQL 提供了一个加全局读锁的方法FTWRL Flush tables with read lock 全局锁的典型使用场景是,做全库逻辑备份,也就是把整库每 ...

  3. CQGUI框架之样式管理

    大家好,我是IT文艺男,来自一线大厂的一线程序员 今天给大家讲解基于C++/Qt的CQGUI框架的样式管理实现. 在Qt平台,实现窗口/控件美化或者自定义效果,有如下两种方式 重绘 样式 对于重绘,我 ...

  4. 第4 章 : 理解 Pod 和容器设计模式

    理解Pod和容器设计模式 本文整理自 CNCF 和阿里巴巴联合举办的云原生技术公开课的课时 4:理解 Pod 和容器设计模式.本次课程中,阿阿里巴巴高级技术专家.CNCF 官方大使张磊为大家介绍了为什 ...

  5. SCIP:构造过程抽象--面向对象的解释

    心智的活动,除了尽力产生各种简单的认知之外,主要表现为如下三个方面:(1)将若干简单认知组合为一个复合的认识,由此产出各种复杂的认知.(2)将两个认知放在一起对照,不管他们如何简单或者复杂,在这样做时 ...

  6. 【oracle学习笔记01】oracle architecture —— Memory Strucrure

    附图3: granule_size for each components 附图4:

  7. ASP.NET网页开发基础(7)

    整理了一点的小知识点: 1.ASP.NET网页扩展名:    .asax 全局应用程序类的扩展名     .xml 访问网页时的扩展名     .htm     .ascx Web用户控件的扩展名   ...

  8. MRCTF My secret

    My secret 知识点:wireshark基本操作,shadowsocks3.0源码利用,拼图(os脚本编写能力), 根据这里的信息可以知道,tcp所传输的源数据是在target address后 ...

  9. 简介TLS 1.3

    0x00 前言 最近在阅读论文,其中阅读了 WWW2021的一篇文章"TLS 1.3 in Practice: How TLS 1.3 Contributes to the Internet ...

  10. Mybatis3源码笔记(三)Configuration

    1. XMLConfigBuilder 上一篇大致介绍了SqlSession的生成.在DefaultSqlSessionFactory的构造函数中就提到了Configuration这个对象.现在我们来 ...