首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux中的Diff和Patch

本文主要记录两个命令的学习情况:diff 和 patch。diff 和 patch 是一对工具,使用这对工具可以获取更新文件与历史文件的差异,并将更新应用到历史文件上。...patch original.txt -i my patch.patch -o updated-1.txt 这个命令会生成一个新的文件,可以看到这个我们之前的update.txtw文件一模一样。...patch -i mypatch2.patch -o updated.txt 注意,这里如果不指定输出文件的话,源文件就会被更新(这本来就是补丁文件的作用)。...diff -c original update > directory.patch 在一个新的目录下拷贝 original 文件夹和补丁文件,执行 patch -i directory.patch,此时会提示找不到文件...,因为patch会在当前文件夹查找文件(默认情况下patch会将文件名前的所有文件夹去掉)因为此时补丁文件文件夹外面,所以我们应当告诉patch不要这么做,使用-p参数。

2.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

Linux命令使用:diff、patch与dirname

Linux 是一种开放源代码的类 UNIX 操作系统,以其安全性和稳定性的优势,加上开源的特性和软件生态,被常用作服务器的操作系统。...diff命令的修改结果可以展示在命令窗口中,帮助查看文件的差异,也可以作为补丁(patch)文件存储起来,方便后续查看,也可以将生成的补丁文件应用到具体文件中,该行为多发生于版本控制系统中。...diff -Naru > 该命令将比较的修改结果保存到指定文件中。...3. patch 功能:应用补丁文件 示例: tmpuser:b/ $ patch < patch_file...若在当前目录下使用patch_file文件,则不需要进行目录等级调整,使用如下命令应用补丁文件: tmpuser:test/ $ patch -p0 < patch_file

2.2K20

手把手教你 Linux 下打 patch

在项目中,如果和其他人一起维护一个项目,有时候别人修改了一些代码,更换 .c 文件也很麻烦,这时就需要用到 patch 了,别人只要发一个 patch ,你打上即可。...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,比较简单。

4.5K20

使用git做patch,查找patch

使用git作patch有以下几种 1.自己修改了一些代码,或者加了一些文件,然后做patch,方法如下:     (1)修改了代码 [root@btg core]# vim system/core/rootdir...patch就做完了     (2)文件添加的patch     首先添加一个文件,然后再commit [root@btg core]# touch testfile.c [root@btg core...[root@btg linux-2.6]# 这样,就把所有的patch都给列出来了,可以根据需要去进行选择 3.在不同的版本的间做patch [root@btg linux-2.6]# git tag...-2.6]# 先列出来tag,然后再根据需要,进行patch生成,例如想知道2.6.38到2.6.39-rc2之间的ext2文件系统都做了什么 [root@btg linux-2.6]# git diff...= new_dir) [root@btg linux-2.6]# 这样就搞定了,那个diff文件可以重新命个名,比如叫ext2_modify.patch

1.7K20

如何使用git 生成patch 和打入patch

: 把生成的patch 文件copy 到一个文件夹中来(这里我创建了patch 文件夹)。...: git format-patch -1 07fe git format-patch生成的补丁文件默认从1开始顺序编号,并使用对应提交信息中的第一行作为文件名。...如果使用了– numbered-files选项,则文件名只有编号,不包含提交信息;如果指定了–stdout选项,可指定输出位置,如当所有patch输出到一个文件;可指定-o 指定patch的存放目录...如同使用 patch -p1 命令时一样,然后手动解决代码冲突(检视生成的 .rej 文件,与冲突文件比较,修改冲突内容,并最终把文件加入到index中): $ git apply PATCH –reject...参考资料: Git-format-patch(1) – Linux man page http://linux.die.net/man/1/git-format-patch How to create

3.8K20

Linux游(1): diff, patch和quilt (下一个)

Linux游(1): diff, patch和quilt (下一个) 2 quilt 我们自己的项目可以用cvs或svn管理所有代码。但有时我们要使用其它开发人员维护的项目。我们须要改动一些文件。...由于大多数代码都是别人维护的,比如Linux内核。我们仅仅是想管理好自己的补丁。 这时能够使用quilt。 2.1 基本概念 quilt是一个帮助我们管理补丁的程序。...2.2 导入补丁 我们把 old-prj.tar.bz2 想象成Linux内核,我们把它解压后,进入代码树的根文件夹: $ mkdir qtest; cd qtest; tar xvjf .....删除文件前也要先为文件建立关联: $ quilt new more_p2.diff Patch more_p2.diff is now on top $ quilt add app/* File src...该Linux这结束了巡演,欢迎再次参加Linux游,共同探讨茫茫Linux世界。

1.2K40

Oracle Patch补丁体系

该类patch的安装和安装one-off patch一样, 同样使用“optach apply“命令来完成. 安装完成后应针对既有的数据库(已经创建在使用的数据库)....Bundled patches(For Windows and Exadata only)   用于解决在WIndows平台无法利用替换共享文件后relink的方式来更新oracle binary, 所以...PSR(Patch Set Release)/Patch Set Update(PSU)   PSR就是大家常见的大补丁合集, 通常1GB左右, 也就是oracle版本号的第四位即为PSR号....升级PSU的注意事项 1、下载PSU补丁时, 首先确认操作系统版本以及数据库版本, 之后下载相应的psu补丁集. 2、安装任何补丁时,一定要仔细阅读补丁对应的readme文件, 因为每个补丁的安装步骤可能有所不同...安装在oracle_home下, 只会把PSU安装在GI的oracle_home下,这种情况下, 如果要对数据库的oracle_home安装psu, 需另外执行#opatch auto unzip补丁源文件

99620
领券