有时候,我们下载一个托管在互联网上某处的文件(例如ISO映像),只是发现它不能像预期的那样工作(或者根本就没有)。 这可能有多个原因,其中一个是文件损坏(文件在下载过程中损坏,或原始的托管文件本身已损坏)。 但如何证实这种腐败已经发生了?
那么这个问题确实存在一个解决方案。 在大多数情况下,所做的是,最初创建文件时,会计算出该文件唯一的校验和。 即使文件有轻微的变化,校验和也可以重新计算。
因此,大多数供应商提供与要下载的文件相对应的校验和(或类似校验和的代码)。 如果文件没有以预期的方式运行,用户可以重新计算文件的校验和,并将其与供应商提供的原始校验和进行比较,以查看文件是否完整或已损坏。
在Linux中,有一个命令行工具可用于创建/验证校验和。 它被称为cksum 。 在本教程中,我们将尽快讨论该工具的工作原理。
Linux cksum命令
该命令计算输入文件的循环冗余校验和(CRC)校验和,并在命令行终端上输出该数字/代码。 除校验和外,该工具还显示了文件所包含的字节数。
以下是cksum命令的通用语法:
cksum [OPTION]... [FILE]...
以下是该工具的官方文档:
`cksum' is typically used to ensure that files transferred by unreliable means (e.g., netnews) have not been corrupted, by comparing the `cksum' output for the received files with the `cksum' output for the original files (typically given in the distribution).
如何使用cksum?
此工具的用法非常简单:只需将文件名作为输入传递,该命令将打印相应的校验和以及文件中的字节数。
例如,我们在我们的例子中执行了以下命令:
cksum file1
以上是上述命令:
因此,输出中的第一个数字是校验和,第二个数字是字节数,第三个实体(不用说)是输入文件名。
接下来,我们做的是,我们在文件文本中稍作改动,并再次执行相同的命令:
所以你可以看到,校验和已经改变了,表明文件有一些改变。
这是关于这个工具的。 它提供了几个选项,但是这些选项是非常通用的( --help和--version ) - 它们不仅不言自明,而且还可以在Linux中几乎每个命令的选项列表中找到。
结论
cksum命令简单易懂,使用起来更简单。 您可以轻松地尝试在系统中 - 如果有一个已知相应CRC校验和的文件,该工具可用于验证文件是否完整。 有关cksum的更多信息,请转到工具的信息页面(运行命令: info coreutils cksum ),而不是其手册页 。