如何使用 fdupes 删除重复文件?

如何使用 fdupes 删除重复文件?

当我运行时,fdupes它发现了超过 30,000 个重复文件。我需要保留一个文件并删除所有其他重复文件(因为其中一些是系统文件)。请给我一个命令或脚本来执行此操作,而无需对每一组重复文件都按“1 或 2 或全部”。

答案1

如果您想静默运行它,您可以这样做(我刚刚用它清除了在机架空间块存储上运行的 150 GB 的重复数据..£kerching!!)

fdupes -rdN dir/

r - recursive
d - preserver first file, delete other dupes
N - run silently (no prompt)

答案2

fdupes具有丰富的 CLI:

fdupes -r ./stuff > dupes.txt

然后,删除重复项就像检查dupes.txt和删除有问题的目录一样简单。fdupes还可以提示您删除重复项。

fdupes -r /home/user > /home/user/duplicate.txt

命令的输出进入duplicate.txt

fdupes将比较文件的大小和 MD5 哈希值来查找重复项。

检查fdupes手册页了解详细使用信息。

答案3

我会使用这种更安全的方法:

创建脚本并将重复的文件移动到新文件夹。如果移动到原始文件夹之外的文件夹,fdupes 将不会在第二次扫描时报告重复的文件,删除它们会更安全。

#!/bin/bash

# Save default separator definitions
oIFS=$IFS
# define new line as a separator, filenames can have spaces
IFS=$'\n';

# For each file (f) listed as duplicated by fdupes, recursively
  for f in `fdupes -r -f .`
  do
    # Log the files I'm moving
    echo "Moving $f to folder Duplicates" >> ~/log.txt
    # Move the duplicated file, keeping the original in the original folder
    mv $f Duplicates/
  done

# restore default separator definitions
IFS=$oIFS

答案4

我已经尝试了所有这些,diff、fdupes、rsync、rdfind shell脚本,毫无疑问语法毫无疑问,它击败了所有同类产品。它显示重复项,允许您检查它们并合并或删除。GUI 非常干净且易于使用。我使用的是 Ubuntu 20.04。

相关内容