我需要更改一些文件的 md5,我被告知运行以下命令
echo >> /path/to/file.iso
我只是想知道,该文件实际上做了什么。它似乎可以工作并更改 MD5,但这是否有可能导致文件损坏?
答案1
正如贾尼斯所说,它附加了一个换行符。任何更改文件中现有确切字节序列的操作都会导致 MD5 校验和被更改。
ISO 映像仍然可以工作,因为它是 ISO9660 (CDROM) 文件系统的映像,并且文件系统知道其边界是什么,并且不会因文件系统末尾之外的额外数据而感到困惑。
然而,某些 CD 刻录工具可能会因为映像不是 2048 字节(CDROM 的本机块大小)的倍数而感到困惑,并拒绝刻录映像;其他人可能只是给出警告或忽略它,一些写得不好的工具甚至可能在尝试写入不完整的块时在最后给出错误。
其他类型的文件可能会产生不同的结果。例如,ZIP 文件的索引位于距文件末尾的固定偏移处,因此附加一些额外的字节可能会导致不再找到索引,从而导致看起来像是损坏的 ZIP 文件。