導航:首頁 > 程序命令 > diff命令顯示不同

diff命令顯示不同

發布時間:2022-10-21 14:10:57

『壹』 linux diff命令

如果兩個
二進制文件
相同,diff就什麼也不顯示,否則只簡單報告一下這兩個文件是不相同的。
diff命令的功能為逐行比較兩個文本文件,列出其不同之處。由於二進制文件沒有行結構,diff程序將不顯示所有的編輯行信息。

『貳』 shell 命令 diff 的使用簡介

diff 命令是 Linux 上比較重要的命令行工具,用於比較文本內容,並找到不相同的地方, diff 在命令行中列印每一行的改動之處。 diff 程序的輸出被稱為補丁( patch ),在 Linux 系統中還有一個 patch 程序,可以根據 diff 的輸出,將文件內容更新為另一個文件內容, diff 是版本控制工具不可或缺的一部分。

diff 命令能比較單個文件或者目錄內容。

如果指定比較的是文件,則只有當輸入為文本文件時才有效。以逐行的方式,比較文本文件的異同處。

如果指定比較的是目錄的的時候, diff 命令會比較兩個目錄下名字相同的文本文件。列出不同的二進制文件、公共子目錄和只在一個目錄出現的文件。

diff 的 normal 顯示格式有三種提示:

上面的 「3c3」 和 「8c8」 表示 log2014.log 和 log20143.log 文件在 3 行和第 8 行內容有所不同; "11,12d10" 表示第一個文件比第二個文件多了第 11 和 12 行。

「|」表示前後 2 個文件內容有不同

「<」表示後面文件比前面文件少了 1 行內容

「>」表示後面文件比前面文件多了 1 行內容

這種方式在開頭兩行作了比較文件的說明,這里有三中特殊字元:

「+」 比較的文件的後者比前著多一行

「-」 比較的文件的後者比前著少一行

「!」 比較的文件兩者有差別的行

它的第一部分,也是文件的基本信息:

--- log2014.log 2012-12-07 18:01:54.000000000 +0800

+++ log2013.log 2012-12-07 16:36:26.000000000 +0800

"---"表示變動前的文件,"+++"表示變動後的文件。

第二部分,變動的位置用兩個@作為起首和結束。

@@ -1,12 +1,10 @@

前面的 "-1,12" 分成三個部分:減號表示第一個文件(即 log2014.log ),"1"表示第 1 行,"12"表示連續 12 行。合在一起,就表示下面是第一個文件從第 1 行開始的連續 12 行。同樣的, "+1,10" 表示變動後,成為第二個文件從第 1 行開始的連續 10 行。

『叄』 linux diff命令詳解

diff命令在最簡單的情況下,比較給定的兩個文件的不同。如果使用「-」代替「文件」參數,則要比較的內容將來自標准輸入。diff命令是以逐行的方式,比較文本文件的異同處。如果該命令指定進行目錄的比較,則將會比較該目錄中具有相同文件名的文件,而不會對其子目錄文件進行任何比較操作。下面是linuxdiff命令的具體介紹:
diff(diff即different簡寫)命令用於比較文件的差異。
選項:
-
-a或——text:diff預設只會逐行比較文本文件;
-b或_ignore-space-change:不檢查空格字元的不同;
-B或_ignore-blank-lines:不檢查空白行;
-c:顯示全部內容,並標出不同之處;
-C
-d或——minimal:使用不同的演演算法,以小的單位來做比較;
-D
-e或——ed:此參數的輸出格式可用於ed的script文件;
-f或-forward-ed:輸出的格式類似ed的script文件,但按照原來文件的順序來顯示不同處;
-H或_speed-large-files:比較大文件時,可加快速度;
-l
-i或_ignore-case:不檢查大小寫的不同;
-l或——paginate:將結果交由pr程序來分頁;
-n或——rcs:將比較結果以RCS的格式來顯示;
-N或_new-file:在比較目錄時,若文件A僅出現在某個目錄中,預設會顯示:Onlyin目錄,文件A若使用-N參數,則diff會將文件A與一個空白的文件比較;
-p:若比較的文件為C語言的程序碼文件時,顯示差異所在的函數名稱;
-P或_unidirectional-new-file:與-N類似,但只有當第二個目錄包含了第一個目錄所沒有的文件時,才會將這個文件與空白的文件做比較;
-q或_brief僅顯示有無差異,不顯示詳細的信息;
-r或——recursive:比較子目錄中的文件;
-s或_report-identical-files:若沒有發現任何差異,仍然顯示信息;
-S
-t或_expand-tabs:在輸出時,將tab字元展開;
-T或_initial-tab:在每行前面加上tab字元以便對齊;
-u,-U
-v或——version:顯示版本信息;
-w或_ignore-all-space:忽略全部的空格字元;
-W
-x
-X
-y或_side-by-side:以並列的方式顯示文件的異同之處;
_help:顯示幫助;
_left-column:在使用-y參數時,若兩個文件某一行內容相同,則僅在左側的欄位顯示該行內容;
_suppress-common-lines:在使用-y參數時,僅顯示不同之處。
以上就是今天的分享了,希望可以幫助到大家。
本文章基於thinkpadE15品牌、centos7系統撰寫的。

『肆』 linux diff命令顯示結果解析

104c104表示兩個文件都有此行,但該行有不同處
107d106表示前個文件有此行,後一文件沒有
111a111表示後個文件有此行,前一文件沒有
這里數字都是行數

『伍』 linux diff命令

如果兩個二進制文件相同,diff就什麼也不顯示,否則只簡單報告一下這兩個文件是不相同的。

diff命令的功能為逐行比較兩個文本文件,列出其不同之處。由於二進制文件沒有行結構,diff程序將不顯示所有的編輯行信息。

『陸』 計算機編程中的diff是什麼意思

diff 命令比較文本文件。它能比較單個文件或者目錄內容。
注:
diff 命令只有當輸入為文本文件時才有效。
如果指定了 Directory1 和 Directory2 參數,diff 命令比較兩個目錄下名字相同的文本文件。列出不同的二進制文件、公共子目錄和只在一個目錄出現的文件。 當 diff 命令運行於常規文件時,且當目錄比較期間比較不同的文本文件時,diff 命令顯示文件中哪些行必須更改以保持它們一致。如果 File1 和 File2 參數都不是目錄,其中之一可能給定負號「-」,以採用標准輸入。如果 File1 參數是目錄,則使用目錄中與 File2 參數指定的文件名一致的那個文件。

『柒』 Linux文件比較命令的diff命令

1>diff命令的功能
linux中diff命令的功能為逐行比較兩個文本文件,列出其不同之處。它對給出的文件進行系統的檢查,並顯示出兩個文件中所有不同的行,不要求事先對文件進行排序。
2>語法
diff
[options]
file1
file2
該命令告訴用戶,為了使兩個文件file1和file2一致,需要修改它們的哪些行。如果用」-」表示file1或file2,則表示標准輸入。如果file1或file2是目錄,那麼diff將使用該目錄中的同名文件進行比較。
3>[options]主要參數
-a:將所有文件當作文本文件來處理。
-b或–ignore-space-change
忽略空格造成的不同。
-b或–ignore-blank-lines
忽略空行造成的不同。
-c:使用綱要輸出格式。
-h:利用試探法加速對大文件的搜索。
-i:忽略大小寫的變化。
-n
–rcs:輸出rcs格式。
-n或–new-file
在比較目錄時,若文件a僅出現在某個目錄中,會顯示:only
in目錄;文件a若使用-n參數,則diff會將文件a與一個空白的文件比較。
-r或–recursive
比較子目錄中的文件。
-u,-u<列數>或–unified=<列數>
以合並的方式來顯示文件內容的不同。
4>使用方法的實例說明
例如:
diff
/usr/xu
mine
把目錄/usr/xu
中名為mine的文件與當前目錄中的mine文件進行比較。
通常輸出由下述形式的行組成:
n1
a
n3,n4
n1,n2
d
n3
n1,n2
c
n3,n4
這些行類似ed命令把filel轉換成file2。字母(a、d和c)之前的行號(n1,n2)是針對file1的,其後面的行號(n3,n4)是針對file2的。字母a、d和c分別表示附加、刪除和修改操作。
在上述形式的每一行的後面跟隨受到影響的若干行,以」<」打頭的行屬於第一個文件,以」>」打頭的行屬於第二個文件。
diff能區別塊和字元設備文件以及fifo(管道文件),不會把它們與普通文件進行比較。
如果file1和file2都是目錄,則diff會產生很多信息。
5>diff最常用的功能
diff有很多功能平時我們不常用到,最常用的功能莫過於生成patch文件了:
diff
-urn
old/
new/
>
mysoft.patch
參數
-u
表示使用
unified
格式,-r
表示比較目錄,-n
表示將不存在的文件當作空文件處理,這樣新添加的文件也會出現在patch文件中。
然後在需要應用patch的地方使用下述命令即可:
patch
-p0
<
mysoft.patch
diff的
-y
命令(長格式為
–side-by-side)可以將屏幕分成左右兩部分,來比較兩個文件之間的差異。許多圖形化的比較工具都有這個功能,但如果只能使用命令行,這個參數就相當有用了。如果要改變左右各部分的寬度,可以通過
-w
(–width)參數來指定。
–ignore-blank-lines
參數可以不檢查空白行。這樣dos格式和unix格式的文件互相比較時,就不至於因為換行符不一致而出現大量的差異。

『捌』 為什麼git diff顯示不出兩個文件不同的地方

你好,git diff HEAD 是以當前文件和git 庫裡面的文件做DIFF,你輸入命令後顯示的意思不是a/ 目錄下的wanglei.txt 和 b/目錄下wanglei.txt之間不一樣,而是a/wanglei.txt 代表你提交到git 庫裡面文件wanglei.txt,而b/wanglei.txt 是後來你在本地做了修改的wanglei.txt文件,都是在當前的目錄下wanglei.txt,不過一個是已經被提交到git 庫裡面了 ,另一個是你剛剛替換了,和之前的不一樣了 ,所以git diff 會顯示這個結果,如果你想學習git 我推薦你看下 progit 和git權威指南 下載鏈接http://download.csdn.net/detail/dongwuming/5859863

『玖』 linux diff為什麼兩個文件沒有差別也顯示全文都不一樣

肯定有差別,比如不可見字元,像是每行最後空格個數,或者回車換行和換行的差別

閱讀全文

與diff命令顯示不同相關的資料

熱點內容
新科學pdf 瀏覽:744
現在還有c語言編譯嗎 瀏覽:672
哪裡買到單片機 瀏覽:478
linux文件打開數量 瀏覽:510
編譯原理中什麼是l屬性文法 瀏覽:367
硬碟加密時出現的問題 瀏覽:59
如何退域命令 瀏覽:108
看書的app哪裡看 瀏覽:291
伺服器怎麼調大 瀏覽:3
android天氣apijson 瀏覽:984
為什麼創建id會出現伺服器錯誤 瀏覽:837
代碼中有不必編譯的單詞嗎 瀏覽:563
鉤子與資料庫編程 瀏覽:563
安卓光遇錄歌怎麼設置 瀏覽:485
虛擬機怎麼和雲伺服器搭建集群 瀏覽:896
python倒計時代碼turtle 瀏覽:492
cad命令mv 瀏覽:928
nexus7一代androidl 瀏覽:306
linux使用靜態庫編譯過程 瀏覽:103
android平滑滾動效果 瀏覽:841