188 diff以及patch的簡單使用

2021-10-01 13:41:21 字數 1971 閱讀 1443

這應該是最簡單的乙個工具的使用了,之所以做乙個小結也僅僅是因為我自己本身基礎不牢了。前一陣子,簡單試了一下diff的使用。其實今天的patch是它的搭檔,在過去很長的時間裡應該在軟甲版本維護中發揮過很大的作用。

測試過程:

root@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# ls

a.croot@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# cat a.c

#include "stdio.h"

int main(void)

以上是原始的檔案資訊。

root@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# cp a.c b.c

root@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# vim b.c

root@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# cat b.c

#include "stdio.h"

int main(void)

以上是在原始檔案的基礎上修改,形成了乙個新的檔案。

root@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# ls

a.c  b.c

root@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# diff -naur a.c b.c > c.patch

root@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# ls

a.c  b.c  c.patch

root@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# cat c.patch

--- a.c 2019-12-15 14:31:12.533611800 +0800

+++ b.c 2019-12-15 15:56:59.692063900 +0800

@@ -5,6 +5,9 @@

root@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# patch b.c < c.patch

patching file b.c

root@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# cat b.c

#include "stdio.h"

int main(void)

以上操作:刪除了新的檔案之後,根據原始檔案以及diff檔案生成了新的目標檔案。之後的檔案內容顯示看的出合併成功。

root@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# patch -r b.c < c.patch

patching file b.c

root@desktop-smb53t0:/mnt/d/02_grey/01_hacking/08_git/001# cat b.c

#include "stdio.h"

int main(void)

上面的操作,通過目標檔案以及diff檔案恢復了原始檔案。

通過上面的過程,有幾點功能性的資訊至少我們可以總結一下:

diff檔案是可以看得出變更的具體資訊的。

diff檔案,可以作為乙個差異化的描述檔案,通過這個描述檔案可以以差異變化的方式把更改的資訊提供給他人;

由於這個diff檔案的存在,其實我們可以實現乙個類似於現在的軟體版本的差異比較、舊版本恢復等簡單的功能。

Linux下diff和patch命令以及簡單補丁

補丁 就是對舊版本進行更新。在原有的版本下修改或者新增,減少內容。利用補丁,我們可以方便快捷的修改我們以前的版本。1.製作補丁 先建立兩個檔案a,b 假設b是a的新版本。yangni yangni mypatch touch a b yangni yangni mypatch ls內容分別為 yan...

diff 命令和patch檔案的使用

現有text1.txt和text2.txt兩個檔案 text1.txt this is the first line this is the second line this is the thiid linetext2.txt this is the first line this is the ...

Linux下diff與patch命令的配合使用

在linux下,diff與patch命令配合使用可以進行簡單的 維護工作。a diff diff命令用於比較檔案的差異,可以用於製作patch檔案。但此命令引數眾多 格式多樣,所以在此僅介紹較常用的格式。例如有以下2個檔案,原始檔為old test.txt,經修改後的新檔案為new test.txt...