linux cmp命令參數(shù)及用法詳解--比較兩個(gè)文件
功能說明:比較兩個(gè)文件是否有差異。
語 法:cmp [-clsv][-i <字符數(shù)目>][--help][第一個(gè)文件][第二個(gè)文件]
補(bǔ)充說明:當(dāng)相互比較的兩個(gè)文件完全一樣時(shí),則該指令不會(huì)顯示任何信息。若發(fā)現(xiàn)有所差異,預(yù)設(shè)會(huì)標(biāo)示出第一個(gè)不同之處的字符和列數(shù)編號。若不指定任何文件名稱或是所給予的文件名為”-”,則cmp指令會(huì)從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù)。
參 數(shù):
-c或–print-chars 除了標(biāo)明差異?的十進(jìn)制字碼之外,一并顯示該字符所對應(yīng)字符。
-i<字符數(shù)目>或–ignore-initial=<字符數(shù)目> 指定一個(gè)數(shù)目。
-l或–verbose 標(biāo)示出所有不一樣的地方。
-s或–quiet或–silent 不顯示錯(cuò)誤信息。
-v或–version 顯示版本信息。
–help 在線幫助。
實(shí)例:
1. 要確定兩個(gè)文件是否相同,請輸入:
cmp prog.o.bak prog.o
這比較 prog.o.bak 和 prog.o。如果文件相同,則不顯示消息。如果文件不同,則顯示第一個(gè)不同的位置;例如:
prog.o.bak prog.o differ: char 4, line 1
如果顯示消息 cmp: EOF on prog.o.bak,則 prog.o 的第一部分與 prog.o.bak 相同,但在 prog.o 中還有其他數(shù)據(jù)。
2. 要顯示不同字節(jié)的每個(gè)對,請輸入:
cmp -l prog.o.bak prog.o
這比較文件,然后顯示字節(jié)數(shù)(使用十進(jìn)制格式)和每個(gè)不同的不同字節(jié)(使用八進(jìn)制格式)。例如,如果第五個(gè)字節(jié)在 prog.o.bak 中是八進(jìn)制 101,在 prog.o 中是 141,則 cmp 命令顯示:
5 101 141
3. 要比較兩個(gè)文件,而不寫任何消息,請輸入:
cmp -s prog.c.bak prog.c
這樣,如果文件相同,則給出值 0,如果不同,則給出值 1,或者如果發(fā)生錯(cuò)誤,則給出值 2。該命令形式通常用在 shell 步驟中。例如:
if cmp -s prog.c.bak prog.c
then
echo No change
fi
如果兩個(gè)文件相同,則該部分的 shell 步驟顯示 No change。
文件
/usr/bin/cmp 包含 cmp 命令