創建一個新的文件夾test然后進入test
mkdir test
cd test
首先創建文件a
vim a.txt
隨便輸入一段文字后保存不退出。
稍微修改一下內容,另存為b.txt。
使用以下指令生成文件差異
diff -u a.txt b.txt > diff1.txt
這是以a為原始文件,b為目標文件
打開diff1.txt看看
白色字體代表兩個文件都一樣的,其它不一樣的額地方以-號開頭(紫色字體)代表原始文件,以+開頭(藍色字體)代表目標文件。
也可以以b為原始文件,a為目標文件。
diff -u b.txt a.txt > diff2.txt
打開diff2.txt就成了下圖這樣。
現在刪除掉a.txt
rm a.txt
使用以下指令就可以將b.txt的內容還原為a.txt的內容
patch -R b.txt < diff1.txt
或者
patch -R b.txt < diff2.txt
結果是一樣的。
注:diff和patch有個缺點不能處理二進制文件,git才可以。