- Diff
- 功能
- 語法
該命令告訴用戶,為了使兩個檔file1和file2一致,需要修改它們的哪些行。如果用“-”表示file1或file2,則表示標準輸入。如果file1或file2是目錄,那麼diff將使用該目錄中的同名檔進行比較。
- [options]主要參數
-b或–ignore-space-change 忽略空格造成的不同。
-B或–ignore-blank-lines 忽略空行造成的不同。
-c:使用綱要輸出格式。
-H:利用試探法加速對大檔的搜索。
-I:忽略大小寫的變化。
-n –rcs:輸出RCS格式。
-N或–new-file 在比較目錄時,若檔A僅出現在某個目錄中,linuxidc.com">www.linuxidc.com會顯示:Only in目錄;檔A若使用-N參數,則diff會將檔A與一個空白的檔比較。
-r或–recursive 比較子目錄中的檔。
-u,-U《列數》或–unified=《列數》 以合併的方式來顯示檔內容的不同。
- diff最常用的功能
diff有很多功能平時我們不常用到,最常用的功能莫過於生成patch檔了:
diff -urN A/ B/ 》 C.patch
參數 -u 表示使用 unified 格式,-r 表示比較目錄,-N 表示將不存在的檔當作空檔處理,這樣新添加的檔也會出現在patch檔中。
//=================================================================
- patch
- 功能
與 diff 搭配使用,亦即 "先比較先舊版本的差異,並將差異檔製作成為補丁檔,再由補丁檔更新舊檔案"。
- 語法
- 主要參數
-p# :後面可以接『取消幾層目錄』的意思。
-R :代表還原,將新的檔案還原成原來舊的版本。
- patch 最常用的功能
##將剛剛製作出來的 patch file 用來更新舊版資料
~/A$ patch -p1 < passwd.patch
##恢復舊檔案的內容
~/A$ patch -R -p1 < passwd.patch
//=================================================================================
總結一下:
單個文件
生成補丁:diff –uN from-file to-file >to-file.patch
升級:patch –p0 < to-file.patch
恢復:patch –RE –p0 < to-file.patch
多個文件
生成補丁:diff –uNr from-docu to-docu >to-docu.patch升級:patch –p1 < to-docu.patch恢復:patch –R –p1 <to-docu.patch
沒有留言:
張貼留言