linux cmp是一个很简单的linux命令,作用是比较两个文件是否相同或者是否有差异。
cmp是compare的缩写。
linux上cmp命令的语法:
语 法:cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]
补充说明:
当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有所差异,预设会标示出第一个不同之处的字符和列数编号。
若不指定任何文件名称或是所给予的文件名为"-",则cmp指令会从标准输入设备读取数据。
参 数:
-c或--print-chars 除了标明差异处的十进制字码之外,一并显示该字符所对应字符。
-i<字符数目>或--ignore-initial=<字符数目> 指定一个数目。
-l或--verbose 标示出所有不一样的地方。
-s或--quiet或--silent 不显示错误信息。
-v或--version 显示版本信息。
--help 在线帮助。
cmp的用法:
:~# cat 1.txt
hello!
blogguy.cn
good!
bye:~# cat 2.txt
hello!
blogguy.cn
good!
bye:~# cat 3.txt
hello!
good!
bye
dear:~# cmp 1.txt 2.txt
:~# cmp 1.txt 3.txt
1.txt 3.txt differ: char 9, line 2
:~# cmp -c 1.txt 3.txt
1.txt 3.txt differ: byte 9, line 2 is 142 b 167 w
:~# cmp -l 1.txt 3.txt
9 142 167
10 154 167
11 157 167
12 147 56
13 147 142
14 165 154
15 171 157
16 56 147
17 143 147
18 156 165
19 12 171
20 147 56
21 157 143
22 157 156
23 144 12
24 243 147
25 241 157
26 12 157
27 167 144
28 167 243
29 167 241
30 56 12
31 142 167
32 154 167
33 157 167
34 147 56
35 147 142
36 165 154
37 171 157
38 56 147
39 143 147
40 156 165
41 12 171
42 142 56
43 171 143
44 145 156
cmp: EOF on 1.txt
:~# cmp -cl 1.txt 3.txt
9 142 b 167 w
10 154 l 167 w
11 157 o 167 w
12 147 g 56 .
13 147 g 142 b
14 165 u 154 l
15 171 y 157 o
16 56 . 147 g
17 143 c 147 g
18 156 n 165 u
19 12 ^J 171 y
20 147 g 56 .
21 157 o 143 c
22 157 o 156 n
23 144 d 12 ^J
24 243 M-# 147 g
25 241 M-! 157 o
26 12 ^J 157 o
27 167 w 144 d
28 167 w 243 M-#
29 167 w 241 M-!
30 56 . 12 ^J
31 142 b 167 w
32 154 l 167 w
33 157 o 167 w
34 147 g 56 .
35 147 g 142 b
36 165 u 154 l
37 171 y 157 o
38 56 . 147 g
39 143 c 147 g
40 156 n 165 u
41 12 ^J 171 y
42 142 b 56 .
43 171 y 143 c
44 145 e 156 n
cmp: EOF on 1.txt