共找到8條詞條名為CMP的結果 展開
CMP
Linux
cmp 命令比較 File1 和 File2 參數指定的文件,並將結果寫到標準輸出。
如果為 File1 或 File2 參數指定 -(減號),則 cmp 命令讀取該文件的標準輸入。只可以從標準輸入讀取一個文件。在預設條件下,如果文件相同,則 cmp 命令不顯示任何內容。如果它們不同,則 cmp 命令顯示發生不同的第一個位元組數和行數。如果指定了 -l 標誌,並且如果一個文件是另一文件的初始後繼(即,如果在查找任何差別之前,cmp 命令讀取文件中的文件結束符),則 cmp 命令記下它。通常,使用 cmp 命令比較非文本文件,使用 diff 命令比較文本文件。
-l 對於每個不同,(小寫字母 L)顯示十進位的位元組數和八進位的不同位元組。
-s 只返回退出值。值 0 指示相同的文件;值 1 指示不同的文件;值 2 指示不可訪問的文件或缺少選項。
該命令返回以下出口值:
0 文件相同。
1 文件不同。即使一個文件是另一個文件的初始後繼(一個文件與另一個文件的第一個部分相同),也給出該值。
>1 發生錯誤。
1. 要確定兩個文件是否相同,請輸入:
cmp prog.o.bak prog.o
這比較 prog.o.bak 和 prog.o。如果文件相同,則不顯示消息。如果文件不同,則顯示第一個不同的位置;例如:
prog.o.bak prog.o differ: char 4, line 1
如果顯示消息 cmp: EOF on prog.o.bak,則 prog.o的第一部分與 prog.o.bak相同,但在prog.o 中還有其它數據。
2. 要顯示不同位元組的每個對,請輸入:
cmp -l prog.o.bak prog.o
這比較文件,然後顯示位元組數(使用十進位格式)和每個不同的不同位元組(使用八進位格式)。例如,如果第五個位元組在prog.o.bak 中是八進位101,在 prog.o 中是141,則cmp命令顯示:
5 101 141
3. 要比較兩個文件,而不寫任何消息,請輸入:
cmp -s prog.c.bak prog.c
這樣,如果文件相同,則給出值0,如果不同,則給出值1,或者如果發生錯誤,則給出值 2。該命令形式通常用在 shell 步驟中。例如:
if cmp -s prog.c.bak prog.c
then
echo No change
fi
如果兩個文件相同,則該部分的 shell 步驟顯示 No change。
文件
/usr/bin/cmp 包含 cmp 命令。