diff命令比較兩個不同的文件或不同目錄下的兩個同名文件.在使用diff時,可以用選項來定制輸出格式.patch程序將讀取diff的輸出和所比較
文件中的一個來重新生成另一個.diff手冊的作者寫道:"如果你認為diff是通過從一個文件中減去另一個來生成這兩個文件的差別文件,那就可以認為
patch是使用這個差別文件和其中的一個源文件來生成另一個源文件".
diff命令的一般語法為:
diff [option] srcfile dstfile
diff在運行時試圖找到在srcfile和dstfile里都一樣的很多連續行,在碰到srcfile和dstfile里不一樣的行時運行被打打斷,這些有差別的行稱為塊(hunk).
diff的命令行選項合參數
選項 描述
-a 將所有的文件看作文本,既使文件看起來像是二進制的也不例外,并且進行逐行比較
-b 忽略塊中空白數目的改變
-B 忽略插入或刪除空行造成的改變
-c 產生"上下文"(context)格式的輸出
-C[num] 產生"上下文"(context)格式的輸出,顯示塊前后num行的內容,如果不指定num的值,則顯示塊前后3行的內容
-H 修改diff處理大文件的方式
-i 忽略大小寫,同樣對待大寫和小寫字母
-I regexp 忽略插入或刪除與正則表達式regexp匹配的行
-l 將輸出結果通過pr命令處理加上頁碼
-p 顯示出現塊的C函數
-q 只報告文件是否不同;不輸出差別
-r 比較目錄時,進行遞歸比較
-s 報告兩個文件相同(默認的行為是不報告相同的文件)
-t 輸出時tab擴展為空白
-u 產生"統一"(unified)格式的輸出
-U[num] 產生"統一"(unified)格式的輸出,顯示塊前后num行的內容,如果不指定num的值,則顯示塊前后3行的內容
-v 打印diff的版本號
-w 逐行比較時忽略空白
-W cols 如果產生并排格式的輸出(參見-y) ,讓輸出的每一列有cols個字符寬
-x pattern 當比較目錄時,忽略匹配模式pattern的任何文件和子目錄
-y 產生并排格式的輸出
diff命令的一般語法為:
diff [option] srcfile dstfile
diff在運行時試圖找到在srcfile和dstfile里都一樣的很多連續行,在碰到srcfile和dstfile里不一樣的行時運行被打打斷,這些有差別的行稱為塊(hunk).
diff的命令行選項合參數
選項 描述
-a 將所有的文件看作文本,既使文件看起來像是二進制的也不例外,并且進行逐行比較
-b 忽略塊中空白數目的改變
-B 忽略插入或刪除空行造成的改變
-c 產生"上下文"(context)格式的輸出
-C[num] 產生"上下文"(context)格式的輸出,顯示塊前后num行的內容,如果不指定num的值,則顯示塊前后3行的內容
-H 修改diff處理大文件的方式
-i 忽略大小寫,同樣對待大寫和小寫字母
-I regexp 忽略插入或刪除與正則表達式regexp匹配的行
-l 將輸出結果通過pr命令處理加上頁碼
-p 顯示出現塊的C函數
-q 只報告文件是否不同;不輸出差別
-r 比較目錄時,進行遞歸比較
-s 報告兩個文件相同(默認的行為是不報告相同的文件)
-t 輸出時tab擴展為空白
-u 產生"統一"(unified)格式的輸出
-U[num] 產生"統一"(unified)格式的輸出,顯示塊前后num行的內容,如果不指定num的值,則顯示塊前后3行的內容
-v 打印diff的版本號
-w 逐行比較時忽略空白
-W cols 如果產生并排格式的輸出(參見-y) ,讓輸出的每一列有cols個字符寬
-x pattern 當比較目錄時,忽略匹配模式pattern的任何文件和子目錄
-y 產生并排格式的輸出