日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux双小于命令,Linux文本比较命令:diff

發(fā)布時(shí)間:2025/4/16 linux 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux双小于命令,Linux文本比较命令:diff 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

diff 命令是 Linux上非常重要的工具,用于比較文件的內(nèi)容,特別是比較兩個(gè)版本不同的文件以找到改動(dòng)的地方。diff在命令行中打印每一個(gè)行的改動(dòng)。最新版本的diff還支持二進(jìn)制文件。diff程序的輸出被稱為補(bǔ)丁 (patch),因?yàn)長(zhǎng)inux系統(tǒng)中還有一個(gè)patch程序,可以根據(jù)diff的輸出將a.c的文件內(nèi)容更新為b.c。diff是svn、cvs、git等版本控制工具不可或缺的一部分。

命令格式:

diff [參數(shù)][變動(dòng)前的文件1或目錄1][變動(dòng)后的文件2或目錄2]

命令功能:

diff命令能比較單個(gè)文件或者目錄內(nèi)容。如果指定比較的是文件,則只有當(dāng)輸入為文本文件時(shí)才有效。以逐行的方式,比較文本文件的異同處。如果指定比較的是目錄的的時(shí)候,diff 命令會(huì)比較兩個(gè)目錄下名字相同的文本文件。列出不同的二進(jìn)制文件、公共子目錄和只在一個(gè)目錄出現(xiàn)的文件。

命令參數(shù):

-y或--side-by-side  以并列的方式顯示文件的異同之處。

-W或--width  在使用-y參數(shù)時(shí),指定欄寬。

-c  顯示全部?jī)?nèi)文,并標(biāo)出不同之處。

-u,-U或--unified=  以合并的方式來(lái)顯示文件內(nèi)容的不同。

-r或--recursive  比較子目錄中的文件。

-N或--new-file  在比較目錄時(shí),若文件A僅出現(xiàn)在某個(gè)目錄中,預(yù)設(shè)會(huì)顯示:Only in目錄:文件A若使用-N參數(shù),則diff會(huì)將文件A與一個(gè)空白的文件比較。

-b或--ignore-space-change  不檢查空格字符的不同

-B或--ignore-blank-lines  不檢查空白行。

-H或--speed-large-files  比較大文件時(shí),可加快速度。

-l或--ignore-matching-lines  若兩個(gè)文件在某幾行有所不同,而這幾行同時(shí)都包含了選項(xiàng)中指定的字符或字符串,則不顯示這兩個(gè)文件的差異。

-i或--ignore-case  不檢查大小寫的不同。

-q或--brief  僅顯示有無(wú)差異,不顯示詳細(xì)的信息。

-r或--recursive  比較子目錄中的文件。

-s或--report-identical-files  若沒(méi)有發(fā)現(xiàn)任何差異,仍然顯示信息。

-S或--starting-file  在比較目錄時(shí),從指定的文件開始比較

-t或--expand-tabs  在輸出時(shí),將tab字符展開。

-T或--initial-tab  在每行前面加上tab字符以便對(duì)齊。

-w或--ignore-all-space  忽略全部的空格字符。

-v或--version  顯示版本信息。

實(shí)例

[root@linuxidc src]# cat a.txt

111

aaa

AAA

111aaa

aaa

AAA

111

[root@linuxidc src]# cat b.txt

111

aaa

AAA

111AAA

aaa

AAA

111

[root@linuxidc src]#

正常格式的diff如下

1 [root@linuxidc src]# diff a.txt b.txt
4c4
< 111aaa
---
> 111AAA
[root@linuxidc src]#

diff結(jié)果第一行“4c4”是一個(gè)提示,用來(lái)說(shuō)明變動(dòng)位置,前面的"4",表示f1的第4行有變化;中間的"c"表示變動(dòng)的模式是內(nèi)容改變(change),其他模式還有"增加"(a,代表addition)和"刪除"(d,代表deletion);后面的"4",表示變動(dòng)后變成f2的第4行。

第二行“< 111aaa”,前面的小于號(hào),表示要從f1當(dāng)中去除該行(也就是第4行),后面的"111aaa"表示該行的內(nèi)容。

第三行“---”用來(lái)分割f1和f2。

第四行“> 111AAA”,類似于第二行。前面的大于號(hào)表示f2增加了該行,后面的"111AAA"表示該行的內(nèi)容。

上下文格式的diff如下

[root@linuxidc src]# diff -c a.txt b.txt

*** a.txt 2015-11-08 18:21:50.455124628 +0800

--- b.txt 2015-11-08 18:21:53.391173006 +0800

***************

*** 1,7 ****

111

aaa

AAA

! 111aaa

aaa

AAA

111

--- 1,7 ----

111

aaa

AAA

! 111AAA

aaa

AAA

111

[root@linuxidc src]#

第一部分顯示兩個(gè)文件的基本情況:文件名和時(shí)間信息,"***"表示變動(dòng)前的文件,"---"表示變動(dòng)后的文件。

第二部分#15個(gè)星號(hào),將文件的基本情況與變動(dòng)內(nèi)容分割開。

第三部分顯示變動(dòng)前的文件,即f1。這時(shí)不僅顯示發(fā)生變化的第4行,還顯示第4行的前面三行和后面三行,因此一共顯示7行。所以,前面的"*** 1,7 ****"就表示,從第1行開始連續(xù)7行。另外,文件內(nèi)容的每一行最前面,還有一個(gè)標(biāo)記位。如果為空,表示該行無(wú)變化;如果是感嘆號(hào)(!),表示該行有改動(dòng);如果是減號(hào)(-),表示該行被刪除;如果是加號(hào)(+),表示該行為新增。

四部分顯示變動(dòng)后的文件,即f2。

合并格式的diff

[root@linuxidc src]# diff -u a.txt b.txt

--- a.txt 2015-11-08 18:21:50.455124628 +0800

+++ b.txt 2015-11-08 18:21:53.391173006 +0800

@@ -1,7 +1,7 @@

111

aaa

AAA

-111aaa

+111AAA

aaa

AAA

111

[root@linuxidc src]#

第一部分,也是文件的基本信息。"---"表示變動(dòng)前的文件,"+++"表示變動(dòng)后的文件。

第二部分,變動(dòng)的位置用兩個(gè)@作為起首和結(jié)束。前面的"-1,7"分成三個(gè)部分:減號(hào)表示第一個(gè)文件(即f1),"1"表示第1行,"7"表示連續(xù)7行。合在一起,就表示下面是第一個(gè)文件從第1行開始的連續(xù)7行。同樣的,"+1,7"表示變動(dòng)后,成為第二個(gè)文件從第1行開始的連續(xù)7行。

第三部分是變動(dòng)的具體內(nèi)容。除了有變動(dòng)的那些行以外,也是上下文各顯示3行。它將兩個(gè)文件的上下文,合并顯示在一起,所以叫做"合并格式"。每一行最前面的標(biāo)志位,空表示無(wú)變動(dòng),減號(hào)表示第一個(gè)文件刪除的行,加號(hào)表示第二個(gè)文件新增的行。

并排格式輸出

[root@linuxidc src]# diff -y -W 50 a.txt b.txt

111? ? ? ? 111

aaa? ? ? ? aaa

AAA? ? ? ? AAA

111aaa? ? ? ? ? ? |? 111AAA

aaa? ? ? ? aaa

AAA? ? ? ? AAA

111? ? ? ? 111

[root@linuxidc src]#

“|”表示前后2個(gè)文件內(nèi)容有不同

“>”表示后面文件比前面文件多了1行內(nèi)容

總結(jié)

以上是生活随笔為你收集整理的linux双小于命令,Linux文本比较命令:diff的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。