diff file1 fil2
以后面的文件file2作为标准
比较file1相对于file2来说有什么不同
<
表示第一个文件中的内容
>
表示第二个文件中的内容
a表示添加–add
c表示更改–change
d表示删除–delete
[root@node2 diff-patch]# cat file1
123
haha
[root@node2 diff-patch]# cat file2
123
nihao
[root@node2 diff-patch]# diff file1 file2
2c2 #第一个文件的第二行要经过更改变成第二个文件的第二行
nihao #改成第二个文件中的nihao
[root@node2 diff-patch]# diff file2 file1
2c2
haha
[root@node2 diff-patch]# cat file1
123
[root@node2 diff-patch]# cat file2
123
nihao
[root@node2 diff-patch]# diff file1 file2
1a2
> nihao
[root@node2 diff-patch]# diff file2 file1
2d1
< nihao
2. diff比较目录
diff -r /etc/ /tmp/
注意:比较的结果是目录中文件的不同,而不是文件内容的不同
3. patch用法patch常用来打补丁
以第二个文件为标准,对第一个文件打补丁
diff -u file2 file1
ls
diff -u file2 file1 > file2.path #首先需要生成补丁文件
ls
cat file1
cat file2
cat file2.path
patch file2 file2.path
yum install patch.x86_64 -y
patch file2 file2.path #再用patch命令打补丁
cat file2
cat file1
注意:用这种方法打补丁 文件会直接被修改成指定文件内容 原文件内容会被覆盖
要留下原文件内容:
cat file1
cat file3
diff -u file1 file3 >file1.path
ls
patch -b file3 file3.path #-b表示保留原文件内容
ls
cat file1
cat file3
cat file1.orig #原文件内容