linux 中 cmp命令

 

cmp命令用于判断两个文件是否相同

001、

复制代码
(base) root@PC1:/home/test2# ls
(base) root@PC1:/home/test2# seq 5 > a.txt; seq 3 > b.txt; seq 5 > c.txt      ## 3个测试文件
(base) root@PC1:/home/test2# ls
a.txt  b.txt  c.txt
(base) root@PC1:/home/test2# cat a.txt
1
2
3
4
5
(base) root@PC1:/home/test2# cat b.txt
1
2
3
(base) root@PC1:/home/test2# cat c.txt
1
2
3
4
5
(base) root@PC1:/home/test2# cmp a.txt b.txt                     ## a。txt和b。txt不同
cmp: EOF on b.txt after byte 6, line 3
(base) root@PC1:/home/test2# cmp a.txt c.txt                     ## 如果相同,则不会输出任何内容
复制代码

 

-s选项静默输出:

复制代码
(base) root@PC1:/home/test2# ls
a.txt  b.txt  c.txt
(base) root@PC1:/home/test2# cat a.txt
1
2
3
4
5
(base) root@PC1:/home/test2# cat b.txt
1
2
3
(base) root@PC1:/home/test2# cmp a.txt b.txt 
cmp: EOF on b.txt after byte 6, line 3
(base) root@PC1:/home/test2# cmp -s a.txt b.txt                  ## 静默模式
复制代码

 

0-03、结合if 条件判断

复制代码
(base) root@PC1:/home/test2# ls
a.txt  b.txt  c.txt
(base) root@PC1:/home/test2# cat a.txt
1
2
3
4
5
(base) root@PC1:/home/test2# cat b.txt
1
2
3
(base) root@PC1:/home/test2# cat c.txt
1
2
3
4
5
(base) root@PC1:/home/test2# cmp -s a.txt b.txt
(base) root@PC1:/home/test2# echo $?                    ## 静默输出, 判断为假
1
(base) root@PC1:/home/test2# cmp -s a.txt c.txt         ## 静默输出
(base) root@PC1:/home/test2# echo $?                    ## 判断为真
0
复制代码

 

区别:diff

复制代码
(base) root@PC1:/home/test2# ls
a.txt  b.txt  c.txt
(base) root@PC1:/home/test2# cat a.txt
1
2
3
4
5
(base) root@PC1:/home/test2# cat b.txt
1
2
3
(base) root@PC1:/home/test2# cat c.txt
1
2
3
4
5
(base) root@PC1:/home/test2# diff a.txt b.txt
4,5d3
< 4
< 5
(base) root@PC1:/home/test2# echo $?            ## 判断为假
1
(base) root@PC1:/home/test2# diff a.txt c.txt
(base) root@PC1:/home/test2# echo $?            ## 判断为真
0
复制代码

 

posted @   小鲨鱼2018  阅读(341)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示