首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux中的命令cmp

cmp 是 Linux 中的一个文件比较工具,用于逐字节地比较两个文件的差异。该命令通常用于检查文件是否已正确复制或传输,或者用于找出两个版本之间的差异。

基本用法

代码语言:txt
复制
cmp [选项] 文件1 文件2

常用选项

  • -b--print-bytes:打印出不同的字节。
  • -i--ignore-initial=NUM:忽略文件开头的指定字节数。
  • -l--verbose:打印出所有不同的字节和行号。
  • -n--bytes=NUM:只比较指定的字节数。
  • -s--silent--quiet:不显示任何输出,只通过退出状态码来表示结果。

输出

  • 如果两个文件相同,cmp 不会输出任何内容,并返回退出状态码 0。
  • 如果文件不同,cmp 会输出第一个不同字节的位置(字节偏移量)和这两个字节,然后返回退出状态码 1。
  • 如果发生错误(例如文件不存在),cmp 会输出错误消息并返回退出状态码 2。

示例

  1. 比较两个文件 file1.txtfile2.txt
代码语言:txt
复制
cmp file1.txt file2.txt
  1. 使用 -l 选项详细比较两个文件,并打印出所有不同的字节和行号:
代码语言:txt
复制
cmp -l file1.txt file2.txt
  1. 忽略文件开头的 100 个字节后比较两个文件:
代码语言:txt
复制
cmp -i 100 file1.txt file2.txt
  1. 只比较两个文件的前 512 个字节:
代码语言:txt
复制
cmp -n 512 file1.txt file2.txt

应用场景

  • 文件完整性检查:通过比较文件的哈希值或直接比较文件内容,可以验证文件是否已正确下载或传输。
  • 版本控制:在软件开发中,经常需要比较不同版本的文件以找出差异。
  • 数据备份和恢复:在备份和恢复数据时,可以使用 cmp 来验证备份文件的完整性。

注意事项

  • cmp 是逐字节比较文件,因此对于大文件可能会比较慢。
  • 如果只需要知道文件是否相同,而不关心具体的差异,可以使用 md5sumsha256sum 等命令来比较文件的哈希值,这样通常会更快。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • python中 __cmp__

    对 int、str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法__cmp_..._str__(self): return '(%s: %s)' % (self.name, self.score) __repr__ = __str__ def __cmp...__()方法,__cmp__用实例自身self和传入的实例 s 进行比较,如果 self 应该排在前面,就返回 -1,如果s 应该排在前面,就返回1,如果两者相当,返回 0。...任务 请修改 Student 的__cmp__方法,让它按照分数从高到底排序,分数相同的按名字排序。 ?...不会了怎么办 1.sorted()函数会在程序运行时自动调用cmp()方法,当检测到有__cmp__()方法时则调用__cmp__()方法 2.print sorted(L)相当于print sorted

    62420

    smartctl命令详解_cmp汇编语言

    该数值从出厂时的100%随使用过程降低,直至到零。ID3归零之前就有可能产生不可预料的故障,所以不要等到该项目彻底归零才考虑更换新硬盘。...ID5:Percentage Used已使用的写入耐久度(百分比显示) 该项显示已产生的写入量占厂商定义总写入寿命的百分比。该项数值为动态显示,计算结果与写入量及固态硬盘的TBW总写入量指标有关。...ID8:Host Read Commands读取命令计数 硬盘生命周期内累计接收到的读取命令数量统计。...ID9:Host Write Commands写入命令计数 硬盘生命周期内累计接收到的写入命令数量统计。...ID10:Controller Busy Time主控繁忙时间计数 该项统计的是主控忙于处理IO命令的时间总和(单位:分钟)。当IO队列有未完成的命令时,主控即处于“忙”的状态。

    1.4K30

    命令手册:Linux 中的 ipvsadm 命令

    现在Linux操作系统中的命令越来越多,你了解这些命令么?本文为你讲解ipvsadm命令的知识,主要的是进行了一个简单的翻译,希望对ipvsadm命令的使用者有一定的帮助。   ...:有两种命令选项格式,长的和短的,具有相同的意思。...-E ——edit-service 编辑内核虚拟服务器表中的一条虚拟服务器记录。   -D ——delete-service 删除内核虚拟服务器表中的一条虚拟服务器记录。   ...-C ——clear 清除内核虚拟服务器表中的所有记录。   ...也就是在一个虚拟服务器中增加一台新的真实服务器-e ——edit-server 编辑一条虚拟服务器记录中的某条真实服务器记录-d ——delete-server 删除一条虚拟服务器记录中的某条真实服务器记录

    3.7K30

    Linux中的alias命令

    Linux中的alias命令 开始写内容之前,简单聊下这个周末吧,这个周末没怎么学习,周六去了趟玉渊潭公园,感觉就是人比樱花多,简直挤爆了。...开始今天的主要内容吧,在linux中经常会使用某些重复性的命令,比如MySQL的启动连接串,或者是运行某个固定目录下的脚本,这种情况下,我们如果每次登陆都把这些长长的命令字符串输一遍,难免显得有些笨重,...这里给大家介绍一种方法,就是使用linux中自带的alias命令将这种重复性的命令进行简化,具体的过程描述如下,首先我们在命令航中敲下alias,可以看到以下内容: [dba_mysql ~]$ alias...,相当于输入了ls -la,也就是显示隐藏目录,当我们输入ll的时候,相当于输入了ls -l --color=auto,也就是显示详细文件内容,也就是说等号左右两边的命令结果是等效的,相比较来讲,左边命令的格式比较简短...,而且这个命令在我们输入一半的时候可以通过TAB按键来进行模糊匹配,这样就大大减少了输入命令串的速度。

    3.2K40

    Linux 中的 RPM 命令

    RPM 包管理器 (RPM)是一个强大的包管理系统,它广泛用于 Red Hat Linux 和它的衍生版本,例如 CentOS 和 Fedora。RPM 涉及rpm命令和.rpm文件。...在这篇指南中,我们将会讨论如何使用rpm命令去安装,更新,移除,验证,查询和其他的命令管理 RPM 软件包。...一、安装,更新和移除 RPM 软件包 通常,想要在基于 Red Hat 的发行版本上安装一个新的软件包,你可以使用yum或者dnf命令,它们可以解决和安装所有的依赖包。...在安装一个 RPM 包之前,你必须要先使用一个浏览器或者命令行工具,例如 curl 或者 wget 来下载软件包到你的系统上。...如果软件包没有安装,则会直接进行安装: sudo rpm -Uvh package.rpm 如果你正在安装或者升级的软件包依赖于其他没有安装的依赖包,那么rpm命令将会显示一个清单,列出所有缺失的依赖包

    8.2K10

    linux命令hexdump,Linux系统中hexdump的命令汇总

    大家好,又见面了,我是你们的朋友全栈君。...Linux系统中hexdump的命令汇总 hexdump是Linux系统中用来查看文件十六进制编码的命令,配合不同的参数其作用也有所不同,下面小编就给大家介绍下Linux中hexdump命令的用法,不了解的...查看一些二进制文件的内容,比如二进制文件中包含的某些字符串。可以将二进制文件转换为ASCII、10进制、16进制或8进制进行查看。...Linux中hexdump命令的用法介绍了,从文中我们可以了解到,hexdump命令并不是只能查看十六进制的,还能进行十进制、八进制等的显示。...【Linux系统中hexdump的命令汇总】相关文章: 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

    4.5K20

    linux用命令dpkg,Linux中的dpkg命令介绍

    大家好,又见面了,我是你们的朋友全栈君。 导读 dpkg是一个安装、构建、删除和管理Debian包的工具。所有源自“Debian”的linux的发行版都可使用dpkg命令,比如Ubuntu。...语法: dpkg(选项)(参数) 选项: -i:安装软件包 -r:删除软件包 -P:删除软件包的同时删除其配置文件 -L:显示于软件包关联的文件 –unpack:解开软件包 -c:显示软件包内文件列表...-configure:配置软件包 参数: deb软件包 列出deb软件包的内容或文件里的目录结构 sudo dpkg -c /var/cache/apt/archives/fdisk_2.34-0.1ubuntu9.1.../var/cache/apt/archives/fdisk_2.34-0.1ubuntu9.1_amd64.deb fdisk_2.34-0.1ubuntu9.1_amd64.deb已经下载到电脑的软件包...查询软件包 dpkg -l fdisk#查询软件包的版本 dpkg -L fdisk#查询软件包关联的文件 dpkg -s fdisk#查询软件包的详细信息 显示所有已经安装的deb包,并显示版本号以及摘要说明

    4K50

    linux 脚本 ll命令,linux中ll命令的详细解释

    大家好,又见面了,我是你们的朋友全栈君。 linxu下的ll命令其实是ls-l的一个别名。下面由学习啦小编为大家整理了linux的ll命令的详细解释的相关知识,希望对大家有帮助!...一、linux中的ll命令的详细解释 ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名。 Ubuntu默认不支持命令ll,必须用 ls -l,这样使用起来不是很方便。...-c 以更改时间排序,显示文件和目录 二、Linux中的ll命令参数详解 长选项必须使用的参数对于短选项时也是必需使用的。 -a, –all 不隐藏任何以....中的less命令常用操作命令 接下来给大家介绍一些在less命令比较常用的操作命令,希望大家能够熟练掌握。...三、linux中的ll命令结果说明 drwxr-xr-x 2 root root 48 2013-11-27 16:34 test/ 第一个栏位,表示文件的属性。

    5.7K20

    linux vim命令详解_linux中查看文件内容的命令

    vim 是linux中最基本的操作 vim常用模式 1、命令模式 2、插入模式 3、底行模式 4、可视化模式,命令模式按v进入 5、替换模式,命令模式下按r进入 1、插入模式 默认进入文件打开的是命令模式...在这个模式下是不能插入字符的 按“i”键,然后就进入到插入模式了,屏幕下面有个“–INSERT–”标识,很明显的 现在就能写你的文档了, 写完后按“Esc“键就又回到命令模式了; 2、命令模式 在命令模式下...按 “x” 删除光标处的字符; “u” 恢复上一个操作的命令,相当于撤销; 以y开头的都是复制 “yw” 复制光标处的单词 “yl” 复制光标处的字母 “yy” 复制一整行 “yny” n为数字...,然后就能输入命令了 :q 就是退出 :wq 保存并退出,通常都是一起用的 :q!...cursorline 显示下划线 :set spell 开启拼写检查功能 :set nospell 关闭拼写检查功能 / 关键字 匹配关键字字符,并高亮显示,按n匹配下一个,按N匹配上一个 在文件中的修改在退出后就失效了

    7.8K40

    linux通配符的用法_linux中rmdir命令

    大家好,又见面了,我是你们的朋友全栈君。 注意:linux通配符和三剑客(grep,awk,sed)正则表达式是不一样的,因此,代表的意义也是有较大区别的。...通配符一般用户命令行bash环境,而linux正则表达式用于grep,sed,awk场景。 *:通配符,代表所有(0到多个)字符 ?...:通配符,代表任意1个字符 ;:连续不同命令的分隔符 #:配置文件注释 |:管道 ~:当前用户的家目录 -:上一次所在的路径 $:变量前需要加的符号 /:路径分隔符号,也是根的意思 >或1>:重定向,覆盖原有数据...:逻辑运算中的“非”(not) &&:and 并且,当前一个指令执行成功时,执行后一个指令 ||:or 或者,当前一个指令执行失败时,执行后一个指令 ..:两个点代表上一级目录 ....;两个命令之间的分隔符 [root@redhat test]# pwd;pwd /root/test /root/test 来源:https://www.cnblogs.com/axzq/p/9573770

    3K20

    Linux中的管道命令(一)

    Linux中的管道命令(一) 本文目录 1 cat 2 split 3 tac 4 rev 5 head, tail 6 cut cat cat程序将数据不加改变的复制到标准输出,数据可以来自于标注输入...下面的程序将输出hello.txt文件的内容: $ cat hello.txt cat命令常被用作组合多个文件,下面的命令将hello.txt和source.list.bk文件的内容组合保存到bk.txt...中: $ cat hello.txt source.list.bk > bk.txt split 使用cat可以组合文件,使用split可以分割文件。...split默认将文件每1000行存为一个新文件,如果最后一次分割后剩余的不足1000行,则将剩余的行作为一个文件,也可以使用-l命令选项指定每个新文件的行数: $ split -l 4 bk.txt 上面的命令将...使用-a选项指定数字或者字母后缀的位数,下面的命令指定使用数字后缀且数字位数为3位: $ split -d -a 3 -l 4 bk.txt source_ 生成的四个文件的文件名依次是:source_

    2.3K40

    Linux中的find命令教程

    AI摘要:本文详细介绍了Linux中`find`命令的使用方法,这是一个在渗透测试中常用的强大搜索工具。文章首先解释了`find`命令的基本语法,包括路径、参数和表达式。...通过这些功能,`find`命令能够帮助用户快速定位系统中的敏感文件和信息,为渗透测试提供支持。 Linux中的find命令 简介 在渗透测试过程中,我们常常需要在目标系统中搜索特定的文件或目录。...Linux中的find命令是一个非常强大的搜索工具,能够根据各种条件查找文件和目录。本文将详细介绍find命令的常用参数及其用法,并结合实际例子进行说明。...Linux系统中非常强大和灵活的搜索工具,在渗透测试过程中经常用到。...通过熟练掌握find命令的各种参数和用法,我们可以快速定位目标系统中的敏感文件和信息,为后续的渗透测试工作提供便利。

    22310

    浅谈Linux中的xargs命令

    在说xargs命令之前,先说两句Linux中的管道(pipe)。 管道负责单向连接前一个程序的标准输出与后一个程序的标准输入,其本质是一个共享文件。...我们日常最常用到的管道是匿名管道,Shell中的管道符号为“|”。 ?...有空会读读与管道有关的内核源码的,比如pipe() 管道用法举例: 打印/usr/lib目录下的内容,按大小排序,并分页显示行号 ll -Sh /usr/lib | less -N 取出历史登录信息中的用户名...还有很多命令(比如最常见的mkdir、rm、cp等等等)都不会从标准输入读取内容,这时如果在管道符后加上xargs,再加上要执行的命令,那么前一个程序的标准输出就会作为后一个程序的参数,而不是标准输入了...-name '*.java' | xargs grep Impl 同样地,上面例子中的kill命令应该改写成: ps aux | grep redis-cli | grep -v grep | awk

    2.2K30

    Linux中Sl命令的使用

    我们在输入命令时候,有时候难免会输入错误,比如在Linux 下,有时候会把ls误输入成了sl,那么会出现怎么的效果呢?输入sl后会看到“一个火车咔咔的从桌面上走过!!!”。下面谈谈sl 的使用。...在这里插入代码片一、环境这里使用的是Ubuntu14.04(本质上只要是Linux操作系统即可)图片二、安装1.先输入sl看下,如果提示没有这个命令,说明没有安装图片2.输入以下命令进行移除sudo apt-get...remove sl图片3.输入以下命令安装sudo apt-get install sl图片安装完后直接在命令行输入sl,即可:图片三、命令说明在命令行直接输入man sl查看sl的使用:man sl...图片sl #这个命令主要是提醒程序员输入的命令是sl,而不是lssl -a #可以看到火车上有一个“求救”的人sl -l #显示一个比直接输入sl更小的一个火车sl -F #火车会从右下角向左上角飞走了

    2.1K40

    Linux中强大的xargs命令

    我是木荣,本篇我们来学习一下Linux中的xargs命令 在平时的系统管理中,你是否正在寻找不同的方法来简化你的 Linux 工作流程并希望自动化你的任务?...Linux xargs 命令可能正是你不知道的。在本文中,我们将看到一些使用 xargs 对其他命令生成的项目列表执行命令的实际示例。...在本篇文章中,我们将介绍一些如何使用 xargs 的实际示例。到本文结束时,你将很好地了解如何使用 xargs,并能够将你的 Linux 技能提升到一个新的水平。...因此,如果你准备好提高 Linux 的进步速度,让我们深入了解 Linux xargs 命令的实际示例。 unsetunset1....生成系统中所有 Linux 用户帐户的列表unsetunset 如果你想要与 Linux 系统相关的所有用户帐户的列表,那么你可以参考以下命令。

    22910
    领券