linux命令: patch

一. 针对单文件的patch:

我们以mkprj.sh.1和mkprj.sh两个文件为例:

[[email protected] tst]# ls
mkprj.sh.1  mkprj.sh

看两个文件的差异:
[[email protected] tst]# diff mkprj.sh mkprj.sh.1
20,21c20
< cd $workdir/fornew; mkdir crosstools kernel nfs_root uboot;
< cd $workdir/farsight; mkdir crosstools kernel nfs_root uboot;
---
> cd $workdir/farsight1; mkdir crosstools kernel nfs_root uboot;
23c22
<
---
> cd $workdir/configs2;

1. 做补丁patch
[[email protected] tst]# diff mkprj.sh mkprj.sh.1  > mk_patch
2. 打补丁patch

[[email protected] tst]# patch mkprj.sh < mk_patch
patching file mkprj.sh

观察两个文件,已经相同:
[[email protected] tst]# diff mkprj.sh mkprj.sh.1 

3. 卸载补丁patch

[[email protected] tst]# patch -R mkprj.sh  < mkpatch
patching file mkprj.sh

观察两个文件,mkprj.sh又变回原来的样子了.
[[email protected] tst]# diff mkprj.sh mkprj.sh.1
20,21c20
< cd $workdir/fornew; mkdir crosstools kernel nfs_root uboot;
< cd $workdir/farsight; mkdir crosstools kernel nfs_root uboot;
---
> cd $workdir/farsight1; mkdir crosstools kernel nfs_root uboot;
23c22
<
---
> cd $workdir/configs2;

二、针对目录的patch

如何制作LINUX的patch文件及如何打patch http://blog.csdn.net/zhenwenxian/article/details/8393731

#ls /work/kernel

linux-2.6.22.6    linux-2.6.22.6_jz2440

1. 做补丁patch

#diff -Naur linux-2.6.22.6/    linux-2.6.22.6_jz2440/   > linux-2.6.22.6_jz2440.patch

#ls /work/kernel

linux-2.6.22.6    linux-2.6.22.6_jz2440   linux-2.6.22.6_jz2440.patch

2. 打补丁patch

#cd /work/kernel/linux-2.6.22.6

patch -p1 < ../linux-2.6.22.6_jz2440.patch

3. 卸补丁(-R)

patch -R -p1 < ../linux-2.6.22.6_jz2440.patch

时间: 2024-10-26 00:16:01

linux命令: patch的相关文章

《Linux命令应用大词典》一书,讲述729个命令,1935个例子

<Linux命令应用大词典>涵盖了Linux系统常用的命令,内容涉及基础入门.系统管理.网络管理.网络安全.服务器配置和程序编译等多方面,共计729个命令,1935个例子,内容非常全面.每一个命令都讲述了它的功能描述.命令语法.选项含义和命令实例,内容清晰明了,正所谓一书在手,万事不愁. <Linux命令应用大词典>可以作为读者学习Linux系统的参考书.案头书,遇到不懂的命令或命令选项一查即可:适合Linux爱好者.Linux系统管理工程师.培训机构教师和学生以及高等院校计算机专

github linux 命令行操作实例

继续整理一下linux 下面使用命令行操作实例 首先创建文件目录 然后 执行 git clone 操作 [email protected]:~/桌面$ cd test/ [email protected]:~/桌面/test$ git clone https://github.com/timelessz/TESTDEMO.git正克隆到 'TESTDEMO'...remote: Counting objects: 3, done.remote: Total 3 (delta 0), reused

9.Linux命令行文本处理工具

9.Linux命令行文本处理工具 ·基于关键字搜索文本grep ·grep 'test' /etc/passwd搜索关键字, ·find / -user test | grep Video在结果里搜索,find输出的是文本,然后grep关键字, ·选项:-i,忽略大小写, -n,显示结果所在的行数, -v,显示排除关键字的行, -Ax,显示关键字及后面x行,A=after, -Bx,显示关键字及前面面x行,B=before, --color=auto关键字用颜色显示, ·基于列处理文本内容cut

Linux命令自己总结

对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识. 当 在使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc.usr.var.bin ... ... 等目录,而 在这些目录中,我们进去看看,发现也有很多的目录或文件.文件系统在Linux下看上去就象树形结构,所以

linux入门基础——linux命令行文本处理工具

linux命令行文本处理工具 文件浏览 cat        查看文件内容 more    以翻页形式查看文件内容(只能向下翻页) less    以翻页形式查看文件内容(可上下翻页) head    查看文件的开始10行(或指定行数) tail    查看文件的结束10行(或指定行数) 基于关键字搜索 命令grep用以基于关键字搜索文本 -i        在搜索的时忽略大小写 -n        显示结果所在行数 -v        输出不带关键字的行 -Ax        在输出的时候包含

如何查看linux命令源代码

如何查看linux命令源代码 用linux一段时间了,有时候想看看ls.cat.more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方 法总结如下: 以搜索ls命令源码为例,先搜索命令所在包,命令如下: [email protected]:~$ which ls /bin/ls 用命令搜索该软件所在包,代码如下: [email protected]:~$ dpkg -S /bin/ls coreutils: /bin/ls 从上一步中可以知道ls命令的实现在包c

每天一个linux命令(49)--diff命令

diff 命令是 Linux 上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff 在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件,diff 程序的输出被称为补丁(patch),因为Linux 系统中还有一个 patch程序,可以根据diff 的输出将 a.c 的文件内容更新为 b.c  .diff 是 svn.cvs.git 等版本控制工具不可或缺的一部分. 1.命令格式: diff [参数] [文件1或目录1 ] [文件2或目录2]

超级方便的linux命令手册

超级方便的linux命令手册 NO 分类 PS1 命令名 用法及参数 功能注解 对应章节 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件     文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息     文件管理 # pwd pwd 查看当前所在目录的绝对路经     文件管理 # cd cd .. 回当前目录的上一级目录     文件管理 # cd cd - 回上一次所在的目录     文件管理 # cd cd ~ 或 cd 回当前用户的宿

Linux学习总结(1)——Linux命令大全完整版

Linux命令大全完整版 目    录I 1. linux系统管理命令1 adduser1 chfn(change finger information)1 chsh(change shell)1 date2 exit3 finger4 free5 fwhois5 gitps(gnu interactive tools process status)5 groupdel(group delete)6 groupmod(group modify)6 halt7 id7 kill8 last8 la