Linux 技术手札

diff 及 patch 指令 – 产生, 写入 Patch 档

Linux 的 diff 指令是用作逐行比较两个档案, 然后列出两个档案不同的地方, 以下文章会示范用 diff 产生程式的 Patch, 及用 patch 指令汇入 Patch。

diff 指令的语法:

diff [options] file1 file2

要比较两个档案, 最简单的做法是直接将两个要比较的档案, 放在 diff 指令后面, 以下是比较 file1 及 file2:

$ diff file1 file2

如果两个档案的内容相同, diff 指令不会有任何输出; 如果两个档案有不同的地方, diff 便会将不同的行列出。

diff 指令其中一个最常用的地方, 是制作程式的 Patch, 以下是产生 file1 及 file2 的 Patch 的方法:

$ diff -Naur file1 file2 > patch.txt

上面指令会产生一个 patch.txt 的档案, 如果修改的档案不止一个, diff 更可以用资料夹产生 Patch, 例如:

$ diff -Naur dir1 dir2 > patch.txt

当建立了 Patch 档案后, 要将 Patch 写入, 可以用 patch 指令:

$ patch -p0 patch.txt
Exit mobile version