【linux命令讲解大全】005.文件完整性校验与压缩包比较的常用命令:cksum、bzcmp和cmp

2024-03-02 11:22:24 浏览数 (1)

cksum

检查文件的CRC是否正确

补充说明

cksum命令是用来检查文件的CRC是否正确,以确保文件在从一个系统传输到另一个系统的过程中没有损坏。这种方法要求在源系统中计算出校验和,在目标系统中再次计算出校验和,然后比较这两个数字。如果校验和相等,则认为文件传输正确。

注意:CRC指的是循环冗余校验法,一种错误检测方法。

指定文件通过cksum命令进行校验后,将返回校验结果,供用户核对文件是否正确无误。如果不指定任何文件名或给定的文件名为-,则cksum命令将从标准输入设备读取数据。

语法

cksum [选项] [文件]

选项

  • --help:显示在线帮助;
  • --version:显示版本信息。

参数

  • 文件:指定要计算校验的文件。

示例

使用cksum命令计算文件"testfile1"的完整性,输入如下命令:

代码语言:javascript复制
cksum testfile1

以上命令执行后,将输出校验码等相关信息,具体输出信息如下所示:

代码语言:javascript复制
1263453430 78 testfile1

上面输出信息中,"1263453430"表示校验码,"78"表示字节数。

注意:如果文件中有任何字符被修改,将改变计算后的CRC校验码值。


bzcmp

比较两个压缩包中的文件

补充说明

bzcmp命令的主要功能是在不真正解压缩.bz2压缩包的情况下,比较两个压缩包中的文件,省去了解压缩后再调用cmp命令的过程。

语法

bzcmp [文件1] [文件2]

参数

  • 文件1:指定要比较的第一个.bz2压缩包;
  • 文件2:指定要比较的第二个.bz2压缩包。

cmp

比较两个文件是否有差异

补充说明

cmp命令用于比较两个文件是否有差异。当要比较的两个文件完全相同时,该命令不会显示任何信息。如果发现有差异,它会标示出第一个不同之处的字符和列数编号。如果不指定任何文件名或给定的文件名为-,则cmp命令将从标准输入设备读取数据。

语法

cmp [选项] [文件1] [文件2]

选项

  • -c--print-chars:除了标明差异处的十进制字码之外,还显示该字符对应的字符;
  • -i<字符数目>--ignore-initial=<字符数目>:忽略指定数目的字符;
  • -l--verbose:标示出所有不同的地方;
  • -s--quiet--silent:不显示错误信息;
  • -v--version:显示版本信息;
  • --help:显示在线帮助。

参数

  • 文件1:要比较的第一个文件;
  • 文件2:要比较的第二个文件。

示例

使用cmp命令比较文件"testfile"和"testfile1"两个文件,输入以下命令:

代码语言:javascript复制
cmp testfile testfile1

在执行上述命令之前,可以使用cat命令查看这两个文件的内容,如下所示:

代码语言:javascript复制
cat testfile       # 查看文件内容  
Absncn 50          # 显示文件"testfile"  
Asldssja 60  
Jslkadjls 85 

cat testfile1      # 查看文件内容  
Absncn 50          # 显示文件"testfile1"  
AsldssjE 62  
Jslkadjls 85  

然后再执行cmp命令,返回比较结果,具体如下所示:

代码语言:javascript复制
cmp testfile testfile1    # 比较两个文件  
testfile testfile1        # 有差异:第8字节,第2行  

注意:在比较结果中,只会显示第一个不同之处。

0 人点赞