我想比较两个磁盘映像的内容。(例如,带有 gutsy n edgy 的两个磁盘映像)Unix 中是否有一个直接的命令?
答案1
要逐字节比较磁盘映像并列出所有不同的字节,您可以运行
cmp -l /path/to/first.img /path/to/second.img
这将比较所有内容,包括任何未占用的空间。如果这些是文件系统映像,并且您想要进行文件与文件之间的比较,则需要挂载它们,然后使用文件比较工具(例如 diff 或同步。
答案2
rsync --delete -n -aPc /disk1/ /disk2/
这不会将任何文件复制到磁盘2,也不会从磁盘1 中删除文件-n
,但它会向您显示两个文件系统之间不同的任何文件。
答案3
这里有一条命令,它将比较 /dev/sda1 和 /dev/sdb1,并使用 GUI 显示进度;分区往往是很大的输入,因此最好知道需要等待多长时间才能完成。该命令适用于特定的 6 TB 磁盘,进度数据仅与您的大小估计一样好。
gprog --size-estimate 6001173463040 < /dev/sda1 | cmp - /dev/sdb1
gprog 可从以下网址获取http://stromberg.dnsalias.org/~strombrg/gprog/ 我是作者。
您可以想象用 pv 做类似的事情,尽管我不确定它会对 cmp 的任何输出做什么。