Linux中的版本控制---diff和patch命令

一.构造两个用于测试的文件

hello.txt:

Linux中的版本控制---diff和patch命令

world.txt:

Linux中的版本控制---diff和patch命令

二.用diff命令比较两个文本文件的差异

对这个两个文本文件执行diff‘命令,并通过输出重定向,将差异保存在diff.txt文件中

$ diff -u hello.txt world.txt > diff.txt

参数-u是使得差异输出中带有上下文

Linux中的版本控制---diff和patch命令

第1,2行中的三个减号标识原始文件,三个加号标识目标文件;

第3行表示在这个差异小节中,是从原始文件的第1行开始之后的3行,目标文件从第1行到第3行;

从第4行开始的减号表示只在原始文件中出现的字段,加号表示只在目标文件中出现的字段,无加减号的行表示两个文件相同的字段;

三.文件的恢复

1.删除目标文件world.txt后,利用patch命令,原始文件hello.txt和差异文件diff.txt进行恢复

Linux中的版本控制---diff和patch命令

2.删除原始文件hello.txt后,利用patch命令,目标文件world.txt 和差异文件diff.txt进行恢复

Linux中的版本控制---diff和patch命令

四.总结

1.利用diff和patch命令还可以对目录进行比较操作;

2.diff和patch命令的缺陷是不能对二进制文件进行处理;

3.当然,现在对于源代码版本控制都是使用集中式版本控制SVN或者分布式版本控制Git了

上一篇:(C#) Lock - 将对象上锁,互斥多个线程,使同步。


下一篇:array_slice()函数造成的一次sql注入