diff
比较两个文件不同的点
示例如下:
我创建两个文件:a.dat和b.dat
a.dat中内容如下:
a
b
c
b.dat中的内容如下:
a
c
d
我们用diff命令实现两个文件的对比:
root@45935ca24ed8 shell]# diff -u a.dat b.dat
--- a.dat 2020-03-04 14:39:55.880535686 +0000
+++ b.dat 2020-03-04 14:40:09.643650689 +0000
@@ -1,3 +1,3 @@
a
-b
c
+d
下面解释一下这个差异信息
-
表示第一个文件,也就是a.dat
+
表示第二个文件,也就是b.dat
@@ -1,3 +1,3 @@
表示文件对比
-1,3
意思是第一个文件的1到3行
+1,3
表示第二个文件的1到3行
a :两个文件中都有
-b :第一个文件中有
c :两个文件中都有
+d :第二个文件中有
有了文件差异,我们可以将两个文件的差异信息存起来,以便日后用于文件恢复
diff -u a.dat b.dat > diff_a_b.diff
如果我们弄丢了任意一个文件,则可以使用patch
命令来恢复这个丢掉的文件
假设我们弄丢了a.dat,我们执行如下三条命令:
patch -b b.dat diff_a_b.diff
mv b.dat> a.dat
mv b.dat.orig b.dat