溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux基礎(chǔ)命令diff的用法

發(fā)布時間:2021-08-30 19:04:30 來源:億速云 閱讀:138 作者:chen 欄目:建站服務器

這篇文章主要介紹“Linux基礎(chǔ)命令diff的用法”,在日常操作中,相信很多人在Linux基礎(chǔ)命令diff的用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux基礎(chǔ)命令diff的用法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

diff

逐行比較兩個文本文件,把文件的差異顯示到標準輸出。如果要指定要比較目錄,那么diff命令會比較目錄中相同文件名的文件,不會比較子目錄。此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、語法

diff [選項]  files

 

2、選項列表

選項

說明

-v | --version

顯示命令版本信息

--help

顯示幫助文檔

-m | --mode=MODE

設(shè)置目錄的權(quán)限

-i | --ignore-case

比較的時候,忽略大小寫

--ignore-file-name-case

在比較文件名的時候,忽略大小寫

--no-ignore-file-name-case

比較文件名的時候,不能忽略大小寫

-E | --ignore-tab-expansion

不比較tab

-b | --ingore-space-change

不比較空格數(shù)

-w | --ignore-all-space

忽略所有的空格

-B | --ignore-blank-lines

不比較空白行

-I res | --ignore-mathcing-lines=res

不比較含有指定字符串res的行

--strip-trailing-cr

出去輸入行尾隨的東西

-a | --text

將所有的文件都當做文本文件

-c  -C NUM  --context[=NUM]

顯示不同之處的前后部分內(nèi)容,默認是3行

-u  -U NUM  --unified[=NUM]

顯示相同之處的前后部分內(nèi)容,默認是3行

--label LABEL

使用文件的標簽,而不是名字

-p | --show-c-function

比較c語言文件的時候,顯示不同之處所在的函數(shù)

-F RE  |  --show-function-line=RE

顯示匹配RE的最近的行

-q | --brief

只顯示是否有差異,不顯示詳細內(nèi)容

-e | --ed

輸出一個ed腳本

--normal

輸出一個正常的diff

-n | --rcs

結(jié)果以rcs的方式顯示

-y | --side-by-side

將兩個文件已并列方式顯示比較結(jié)果

-W num | --width=NUM

使用“-y”選項的時候,指定列寬

--left-column

只輸出公共行的左列

--suppress-common-lines

不要輸出公共行

-D NAME | --ifdef=NAME

輸出合并文件以顯示‘#ifdef NAME’的差異

--GTYPE-group-format=GFMT

同上,但用GFMT格式化GTYPE輸入組

--line-format=LFMT

同上,但用LFMT格式化GTYPE輸入組

--LTYPE-line-format=LFMT

同上,但用LFMT格式化LTYPE輸入行

-l | --paginate

將輸出傳遞給pr”以分頁

-t | --expand-tabs

將制表符展開為輸出中的空格

-T | --initial-tab

通過預置選項卡使制表符對齊

-N | --new-file

將缺席文件視為空文件

--unidirectional-new-file

將缺席的第一批文件視為空文件

-s | --report-identical-files

當兩個文件相同時報告

-X FILE | --exclude-from=FILE

排除與文件中任何模式匹配的文件

-S FILE | --starting-file=FILE

從文件開始比較目錄時

-r | --recursive

用遞歸的方式比較子目錄下的所有文件

-x path

不比較指定的文件

--from-file=FILE1

將FILE 1與所有操作數(shù)進行比較。FILE 1可以是一個目錄

--to-file=FILE2

將所有操作數(shù)與文件2進行比較。文件2可以是一個目錄

--horizon-lines=NUM

保持通用前綴和后綴的NUM行

-d  --minimal

努力找出一組較小的變更

--speed-large-files

假設(shè)文件很大,并且有許多零散的小更改。

 

3、實例

1)比較兩個文件,不使用參數(shù) (兩個文件只有第一行不同)

[root@localhost test02]# diff 1.c 2.c             //直接比較,這里只輸出不同之處

1c1

逐行比較兩個文本文件,把文件的差異顯示到標準輸出,adAD文件。

---

逐行比較兩個文本文件,把文件的差異顯示到標準輸出。

2)使用選項-y,以分列的方式輸出兩個文件

[root@localhost test02]# diff -y 1.c 2.c             //使用選項y,這里以列的方式,顯示文件全部內(nèi)容

逐行比較兩個文本文件,把文件的差異顯示到標準輸出,adAD文件。              |    逐行比較兩個文本文件,把文件的差異顯示到標準輸出。

如果要指定要比較目錄,那么diff命令會比較目錄中相同文件名的文                  如果要指定要比較目錄,那么diff命令會比較目錄中相同文件名的文

此命令的適用范圍:RedHat、RHELUbuntu、CentOS、SUSEopenSUS            此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOSSUSE、openSUS

[root@localhost test02]# diff  1.c 2.c

3)使用選項-W,指定列寬 

[root@localhost test02]# diff -y -W 100 1.c 2.c     //這里指定列寬100,并不能完全顯示,因此看不到差異之處

逐行比較兩個文本文件,把文件的差異顯示到標準      |   逐行比較兩個文本文件,把文件的差異顯示到標準

如果要指定要比較目錄,那么diff命令會比較目錄         如果要指定要比較目錄,那么diff命令會比較目錄

此命令的適用范圍:RedHatRHEL、Ubuntu、CentO    此命令的適用范圍:RedHat、RHELUbuntu、CentO

4)比較目錄 

[root@localhost weijie]# diff test01 test02               //這里只比較目錄下相同名字的文件

diff test01/1.c test02/1.c

1c1

逐行比較兩個文本文件,把文件的差異顯示到標準輸出。

---

逐行比較兩個文本文件,把文件的差異顯示到標準輸出,adAD文件。

5)使用選項-q,查看是否不同

[root@localhost weijie]# diff -q test01/1.c test02/1.c     //比較是否不同

Files test01/1.c and test02/1.c differ                         //只顯示是否相同,不顯示詳細不同之處

到此,關(guān)于“Linux基礎(chǔ)命令diff的用法”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI