![如何将软盘映像文件与实际软盘内容进行比较?](https://linux22.com/image/27330/%E5%A6%82%E4%BD%95%E5%B0%86%E8%BD%AF%E7%9B%98%E6%98%A0%E5%83%8F%E6%96%87%E4%BB%B6%E4%B8%8E%E5%AE%9E%E9%99%85%E8%BD%AF%E7%9B%98%E5%86%85%E5%AE%B9%E8%BF%9B%E8%A1%8C%E6%AF%94%E8%BE%83%EF%BC%9F.png)
是否有命令可以将软盘映像(例如 .iso 文件)与写入映像的软盘的实际内容(例如 /dev/fd0)进行比较?
答案1
软盘设备文件是一个文件。任何读取文件的命令都可以对其起作用。
cmp /dev/fd0 image.fat
-l
如果您想要所有不同字节的列表,请传递该选项;对于人类消费,这主要以以下形式有用
cmp -l /dev/fd0 image.fat | wc -l
了解有多少字节不同。cmp -s /dev/fd0 image.fat
如果您不需要任何输出,请运行,如果两个文件相同则返回状态 0,如果不同则返回状态 1。
这会逐字节比较图像。如果软盘和映像包含文件,并且您只想比较文件而不是元数据(文件日期等)或空白空间,请安装软盘和映像并比较目录树。
答案2
由于软盘设备实际上被视为文件,因此您还可以比较软盘设备 ( /dev/fd0
) 和磁盘映像的哈希值(如 SHA1 或 MD5)。
答案3
我没有软盘可供检查,但我猜:
diff <( dd if=/dev/fd0 ) floppy.img
读取<( dd ..... )
软盘的内容并将其视为文件diff
。然后 diff 将其与文件进行比较。