我们使用 diff 来查找两个文件之间的差异。我们使用校验和实用程序来查找哈希值并稍后进行比较。对此,我有一些疑问:
- 我们可以区分任何类型的文件吗?例如,我可以使用 diff 比较 MP3 文件吗?我可以找到 MP3 文件的哈希值。但我可以使用 diff 来检查它们的完整性吗?
- diff 如何处理非文本文件?
- 如何使用 diff 比较两个不同目录中的所有文件?如果某个文件被损坏或篡改, diff 会报告它吗?
- 如何查找整个目录的校验和以进行比较?
提前致谢..!
答案1
当某些要点包含多个问题时,制作编号列表有什么意义?我尝试过数问号并用它们来计算我的答案
- 是的
- 是的 - 但您通常只会被告知这些文件是不同的。
- 不
- 它会告诉你这些文件是二进制的并且不同
- 编写一个循环遍历文件的命令
- 不
- 这不是特别明确的,你可能感兴趣 获取 bash 上目录的校验和和/或根据校验和递归区分两个目录?
要比较二进制文件,您可能会得到稍微好一点的结果cmp
,但这也不关心实际类型。如果您真正想要的是找到精确的重复项,请查看fdupes
/ jdupes
。如果您还需要查找相似的、不精确的重复项,则需要能够对文件进行指纹识别并比较指纹的工具。我不知道有任何这样的工具用于 mp3(或更一般的音频 - 我可以想象拥有不同格式的音频文件集合,其中一些可能是相同的歌曲)文件。