shell常用命令—diff和patch

Ebony ·
更新时间:2024-11-10
· 907 次阅读

shell常用命令—diff和patch1. diff用法2. diff比较目录3. patch用法 1. diff用法 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 #原文件内容

在这里插入图片描述

在这里插入图片描述


作者:Kaiser king



diff patch shell

需要 登录 后方可回复, 如果你还没有账号请 注册新账号