diff 和 sum 实用程序之间的区别

diff 和 sum 实用程序之间的区别

我们使用 diff 来查找两个文件之间的差异。我们使用校验和实用程序来查找哈希值并稍后进行比较。对此,我有一些疑问:

  1. 我们可以区分任何类型的文件吗?例如,我可以使用 diff 比较 MP3 文件吗?我可以找到 MP3 文件的哈希值。但我可以使用 diff 来检查它们的完整性吗?
  2. diff 如何处理非文本文件?
  3. 如何使用 diff 比较两个不同目录中的所有文件?如果某个文件被损坏或篡改, diff 会报告它吗?
  4. 如何查找整个目录的校验和以进行比较?

提前致谢..!

答案1

当某些要点包含多个问题时,制作编号列表有什么意义?我尝试过数问号并用它们来计算我的答案

  1. 是的
  2. 是的 - 但您通常只会被告知这些文件是不同的。
  3. 它会告诉你这些文件是二进制的并且不同
  4. 编写一个循环遍历文件的命令
  5. 这不是特别明确的,你可能感兴趣 获取 bash 上目录的校验和和/或根据校验和递归区分两个目录?

要比较二进制文件,您可能会得到稍微好一点的结果cmp,但这也不关心实际类型。如果您真正想要的是找到精确的重复项,请查看fdupes/ jdupes。如果您还需要查找相似的、不精确的重复项,则需要能够对文件进行指纹识别并比较指纹的工具。我不知道有任何这样的工具用于 mp3(或更一般的音频 - 我可以想象拥有不同格式的音频文件集合,其中一些可能是相同的歌曲)文件。

相关内容