赞
踩
diff
比较文件
用于比较文件的内容,一行一行的比较两个文件不同的地方
diff 1.c 2.c 比较1.c和2.c的不同之处,显示在终端上
<:文件1
>:文件2
------:分隔符
c:change修改
a:add添加
d:delete删除
如果要生成补丁文件则需要将显示的结果输出重定向到以.log结尾的补丁文件中
diff 1.c 2.c > 3.log
patch
用法:将补丁文件打补丁到需要打补丁的文件中
例如:
patch 1.c 3.log
将diff 比较输出重定向的补丁文件3.log安装到1.c上
撤销打补丁:
patch -R 1.c < 3.log
-R:撤销打补丁
示例实操:
1.c
2.c
生成patch文件
diff 1.c 2.c > test.patch
给1.c打patch
patch 1.c test.patch
取消刚才打的patch
patch -R 1.c < test.patch
比较目录
比较目录文件生成补丁文件操作如下:
-r:比较子目录文件
-u:以合并的方式来显示文件的内容不同,同一格式输出
-N:比较空目录时,若文件A仅出现在某个目录下,显示时,另一个目录将缺席文件视为空
1.通过比较两个目录文件,生成补丁文件
diff -ruN dir1 dir2 > diff.txt
2.切换到要修改内容的目录下
cd dir1
3.完成补丁操作
patch -p1 < ../diff.txt
-p:去除相对路径层数的数量
4.撤销打补丁操作
patch -Rp1 < ../diff.txt
示例
patch1文件夹的文件无注释
patch2文件夹的文件加上注释
生成patch文件
diff -ruN patch1 patch2 > diff.patch
打patch
cd patch1
patch -p1 < ../diff.patch
查看patch1的文件
发现已经和patch2的文件一样
取消刚才打的patch
patch -Rp1 < ../diff.txt
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。