删除重复文件的方法

删除重复文件的方法

我想简单地在几台机器上备份和归档文件。不幸的是,这些文件有一些大文件,它们是同一个文件,但存储在不同的机器上。例如,可能有几百张照片作为临时备份从一台计算机复制到另一台计算机。现在我想创建一个通用的文件存储库,我不想要同一张照片的多个副本。

如果我将所有这些文件复制到一个目录中,是否有一个工具可以检查并识别重复的文件并提供列表甚至删除其中一个重复的文件?

答案1

为每个文件创建一个 md5sum,重复的 md5sums 表明(但不保证)存在重复的文件。

答案2

你可以使用合并将相同的文件转换为硬链接。这将需要很长时间不过,对于大型文件集来说,这样做会更快。文件的 SHA(或 MD5)哈希值几乎肯定会更快,但您必须做更多的工作才能找到重复项。意外冲突的概率非常低,实际上您可以忽略它。(事实上,许多重复数据删除产品已经这样做了。)

处理照片和音乐的最佳方法是获取专门用于查找这些项目的重复项的工具。特别是因为在标记、裁剪或编码差异等因素发挥作用后,您可能没有在二进制级别上完全相同的文件。您需要能够找到“看起来”相同的照片和“听起来”相同的音乐的工具,即使对文件进行了微小的调整。

答案3

好吧,如果你有能力,你可以设置一个重复数据删除文件系统并将备份放在上面。这不仅可以删除整个文件的重复数据,还可以删除相似的文件片段。例如,如果你在几个地方有相同的 JPEG,但每个版本的 EXIF 标签不同,则重复数据删除文件系统只会存储一次图像数据。

重复数据删除文件系统包括 lessfs、ZFS 和 SDFS。

答案4

另一种可能性是,假设您要备份的机器将支持它,那就是使用类似的东西rsync

如果你rsync从 A 到 B,然后从 C 到 B,然后从 D 到 B,等等,精确的重复项(即按文件名)将被消除(并在您备份的机器之间同步)。

然而,如果您不希望它们彼此同步,那么这不是最好的方法。

相关内容