创建一个新的文件夹test然后进入test
mkdir test
cd test
首先创建文件a
vim a.txt
随便输入一段文字后保存不退出。
稍微修改一下内容,另存为b.txt。
使用以下指令生成文件差异
diff -u a.txt b.txt > diff1.txt
这是以a为原始文件,b为目标文件
打开diff1.txt看看
白色字体代表两个文件都一样的,其它不一样的额地方以-号开头(紫色字体)代表原始文件,以+开头(蓝色字体)代表目标文件。
也可以以b为原始文件,a为目标文件。
diff -u b.txt a.txt > diff2.txt
打开diff2.txt就成了下图这样。
现在删除掉a.txt
rm a.txt
使用以下指令就可以将b.txt的内容还原为a.txt的内容
patch -R b.txt < diff1.txt
或者
patch -R b.txt < diff2.txt
结果是一样的。
注:diff和patch有个缺点不能处理二进制文件,git才可以。