patch的用法【转】
什么是patch
patch即补丁之意,记录文件中的不同,能够与文件进行整合,从而改变文件中的内容
如何制作patch
在Linux系统中提供了diff程序,可以使用diff程序,比较文件之间的不同从而制作出patch文件
- 在系统中(我用的是Ubuntu)创建diff文件夹,创建test1.txt,test2.txt
mkdir diff
vi test1.txt
vi test2.txt
test1.txt文件内容如下
aaaa
test2.txt文件内容如下
aaaa
bbbb
- 使用diff命令制作patch文件
diff -Naur test1.txt test2.txt > test.patch
之后在当前目录中会存在三个文件
test1.txt test2.txt test.patch
test.patch 文件的内容
--- test1.txt -- ::33.530350672 +
+++ test2.txt -- ::54.326350260 +
@@ - +, @@
aaaa
+bbbb
diff参数解释
-N 在比较目录时如果某个文件只出现了一次,那么在比较不同时会默认和空文件比较
-a 将所有的文件都作为普通text(之比较文本文件)
-u 以合并的方式显示文件内容的不同
-r 如果是文件夹则进行递归进行比较
如何使用patch
- 准备好patch文件和原版本文件
创建patch文件夹,将test1.txt 和test.patch文件拷贝进去
mkdir patch
cp test1.txt test.patch../patch/
- 执行patch命令
patch -p0 < test.patch
test1.txt文件内容如下
aaa
bbb
可以看到patch已经打进去了
参数介绍
patch命令中最常用的就是-pX这个参数
在上面我们注意到patch文件如下内容
--- test1.txt -- ::33.530350672 +
此时我们的参数为-p0,此时patch 就会在当前目录下寻找test1.txt文件,如在在patch文件中是这样记录的
---a/b/test1.txt -- ::33.530350672 +
那么-p0会在当前目录下寻找a目录,a目录下寻找b,之后在b中寻找test1.txt文件。
如果是 -p1,patch命令就会舍弃a,先寻找b再寻找test1.txt
如果是-p2 ,会舍弃a/b,直接寻找test1.txt
所以-pX中 X代表就是所要舍弃的层级目录
patch还有很多参数,但是-pX是最为常用的
patch的应用场景
patch多用于系统升级,只要有一个基础版本,以及基于这个版本的一些patch,就可以进行升级
转自
patch -p0 和patch -p1的區別 | 學步園 https://www.xuebuyuan.com/zh-hant/1166329.html
patch的学习和使用 - 简书 https://www.jianshu.com/p/1df286850317
patch命令用法 - 车子(chezi) - CSDN博客 https://blog.csdn.net/longintchar/article/details/74151042
patch的用法【转】的更多相关文章
- Patch
http://www.cnblogs.com/cute/archive/2011/04/29/2033011.html zhezhelin diff和patch使用指南 diff和patch是一对工具 ...
- python3 mock
mock的官网学习备忘录:官网地址https://docs.python.org/3/library/unittest.mock.html#quick-guide 1,安装 python3 unitt ...
- django的单元测试框架unittest、覆盖率
django的单元测试 指定测试范围: 指定运行某些测试文件./manage.py test --pattern="tests_*.py" -v 2 运行所有测试文件./manag ...
- matlab中patch函数的用法
http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...
- 十分钟掌握diff&patch用法
作为程序员,了解diff&patch命令是非常必要的.比如说我们发现某个项目有bug代码,而自己又没有svn的提交权限,那么此时最合适的解决方法就是用diff命令做一个补丁发给项目成员.项目成 ...
- svn patch用法
最近遇到了一个patch的使用场景: 有一个同事对源码做了一些修改,但是又不想将源码提交到SVN服务器,而我又想得到他所做的修改. patch的使用方法: 创建patch 在要导出“修改”的目录中,单 ...
- patch 用法
diff -Nrua a b > c.patch 实例说明: --- old/modules/pcitable Mon Sep 27 11:03:56 1999 +++ new/modules/ ...
- patch用法 (转载)
转载:http://shenze60.blog.163.com/blog/static/315747722009724113026896/ 首先介绍一下diff和patch.在这里不会把man在线文档 ...
- sort、uniq 、 join 、 comm、diff 、 patch 、df、du 和 time 命令的用法
1 sort 命令 同文本文件打交道时,总避不开排序,那是因为对于文本处理任务而言,排序(sort)可以起到不小的作用.sort 命令能够帮助我们对文本文件和 stdin 进行排序操作.通常,它会结合 ...
随机推荐
- 代码实现排列组合【Java】
一.代码实现 package zhen; import java.util.Arrays; public class Arrangement { /** * 计算阶乘数,即n! = n * (n-1) ...
- curl请求https资源的时候出现400
在nginx上配置了一个新的域名, 习惯性地用curl请求看看有没有配置错误 因为是https的, 所以 $curl 'https://test.test.com/' -x 127.0.0.1:443 ...
- Tomcat+Nginx+Memcached综合案例
Tomcat+Nginx+Memcached综合案例 说明 通过Nginx解析静态页面并将动态负载均衡调度给后面的多个Tomcat,Tomcat解析java动态程序. 由于http是无状态的协议,你访 ...
- Windows与Linux之间海量文件的传输与Linux下大小写敏感问题
Windows与Linux之间海量文件的传输与Linux下大小写敏感问题 mount.cifs 支持通过网络文件系统挂载,不过需要安装cifs-utils,也可通过mount -t cifs挂载,详细 ...
- php的冒泡排序
有其它语言基础, 这些套路弄起来就是快! 都在注释里~ <?php /** * 冒泡排序 PHP实现 * 原理:两两相邻比较,如果反序就交换,否则不交换 * 时间复杂度:最好 O(n) 最坏 O ...
- jni接口
https://www.jianshu.com/p/d4a502420a89 #pragma once /*DO NOT EDIT THIS FILE - it is machine generate ...
- 使用Visual studio查看exe或DLL文件的依赖项
事先准备:只要 Visual Studio 任何版本即可. 点击开始 -> 程序 -> Visual Studio对应的版本,打开Visual Studio Tools -> 选择 ...
- 题目一:编写一个类Computer,类中含有一个求n的阶乘的方法
作业:编写一个类Computer,类中含有一个求n的阶乘的方法.将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决 ...
- 如何用okr做好目标规划
有朋友和我吐槽公司总是规划一个个振奋人心的目标,让大家对工作充满了热情.然而好的开头却缺少追踪反馈没有好的结尾,那些大家所渴望达成的目标随着时间的流逝便逐渐没有了音信,不再有人主动提起,团队成员迎来的 ...
- am335x system upgrade set/get current cpufreq(二十一)
1 Scope of Document This document describes am335x cpufreq technology insider. 2 Requireme ...