使用例子: cmp -s sysfs-tty sysfs-ptp echo $? 1 cmp -s sysfs-tty sysfs-tty echo $? 0bash
说明: sysfs-tty, sysfs-ptp是文件名, echo $?会输出上一条命令的执行结果,1表示比较的两个文件内容不一样, 0 表示比较的两个文件内容相同。 比较内容是文件的二进制内容。ui
基于此,能够在bash 脚本里,根据比较结果来作不一样的动做: cmp -s sysfs-tty sysfs-ptp if [ "$?" -ne 0 ]; then #若是不相同或比较失败,则从新拷贝等 else #若是相同,则不作。。。 fithis
cmp 命令说明: Usage: cmp [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]] Compare two files byte by byte.ip
-b --print-bytes Print differing bytes. -i SKIP --ignore-initial=SKIP Skip the first SKIP bytes of input. -i SKIP1:SKIP2 --ignore-initial=SKIP1:SKIP2 Skip the first SKIP1 bytes of FILE1 and the first SKIP2 bytes of FILE2. -l --verbose Output byte numbers and values of all differing bytes. -n LIMIT --bytes=LIMIT Compare at most LIMIT bytes. -s --quiet --silent Output nothing; yield exit status only. -v --version Output version info. --help Output this help.input
SKIP1 and SKIP2 are the number of bytes to skip in each file. SKIP values may be followed by the following multiplicative suffixes: kB 1000, K 1024, MB 1,000,000, M 1,048,576, GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.it
If a FILE is `-' or missing, read standard input. Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.io