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



Leave a Reply