标签: fdupes

有没有比 fdupes -rdN 更精细的删除重复项的方法?

最近我需要删除很多重复项。我正在合并三个或四个文件系统,我希望能够经济地使用空间。起初,fdupes它似乎是这项工作的最佳工具,但我越来越遇到限制。

考虑命令fdupes -rdN somedirectory/。这会对 somedirectory 的子目录中的所有文件进行散列。

当它遇到重复项时,它会删除它们,因此所有内容都只有一个副本。

但是如果我想保留somedirectory/subdirectory1/somefile并且实际上有四个重复项,并且程序首先遇到其中一个重复项怎么办?然后它删除了somedirectory/subdirectory1/somefile我不想要的。

我希望能够以某种方式指定要保留的重复项。到目前为止,处理重复项的标准程序(duff、FSLint)似乎都不允许这种行为的自动化。我不想自己动手,所以这就是我问这个问题的原因。

我希望能够写出类似的东西

killdupes -rdN --keep=filesin,somedirectories,separated,by,commas somedirectory/
Run Code Online (Sandbox Code Playgroud)

disk-usage files fdupes

24
推荐指数
3
解决办法
2万
查看次数

查找重复文件并用符号链接替换它们

我试图找到一种方法来检查给定目录中的重复文件(即使名称不同),并将它们替换为指向第一次出现的符号链接。我试过,fdupes但它只列出了那些重复项。
这就是上下文:我正在根据自己的喜好自定义图标主题,我发现许多图标,即使它们在父文件夹中具有不同的名称和不同的位置,并且用于不同的目的,基本上都是相同的图片。由于在真正需要一个图像时应用相同的修改二十或三十次是多余的,我只想保留一个图像并符号链接所有其他图像。

例如,如果我fdupes -r ./在目录中运行testdir,它可能会返回以下结果:

./file1.png
./file2.png
./subdir1/anotherfile.png
./subdir1/subdir2/yetanotherfile.png
Run Code Online (Sandbox Code Playgroud)

鉴于此输出,我想只保留 file file1.png,删除所有其他文件并用指向它的符号链接替换它们,同时保留所有原始文件名。所以file2.png会保留它的名字,但会变成一个链接file1.png而不是重复。

这些链接不应指向绝对路径,而应相对于父testdir目录;即yetanotherfile.png会点../../file1.png,不/home/testuser/.icons/testdir/file1.png

我对涉及 GUI 和 CLI 的解决方案都感兴趣。fdupes我已经引用了它不是强制性的,因为它是我知道的一种工具,但我对使用其他工具的解决方案也持开放态度。

我很确定一个 bash 脚本来处理所有这些应该不难创建,但我不够专业,无法找出如何自己编写它。

symlink fdupes duplicate-files

19
推荐指数
3
解决办法
8584
查看次数

fdupes - 比较两个目录后删除文件

我目前正在尝试使用fdupes. 我想相互比较两个文件夹,然后删除这些目录之一中的所有重复文件。

例子:

文件被自动存储在/srv/- 那里有很多重复项。他们都将保持原样。我也有一个名为的目录/watchfolder/watchfolder如果它们存在于/srv/.

我试过fdupes -r srv/ watchfolder/,反之亦然。但它一直在搞乱我的文件srv/

shell-script rm files fdupes

6
推荐指数
2
解决办法
6281
查看次数

使用“fdupes”查找重复项时从删除中排除文件夹

与许多拥有多个设备和同步目录的用户一样,我有相当稳定的重复媒体文件流。我喜欢定期清除重复项,通常是当我要转向新的“同步范例”时。(上次是 Nextcloud。这次是 Syncthing。)我想在我指定为 fdupes 参数的路径中进行搜索,但要阻止任何从搜索路径之一删除文件的尝试。我该怎么做呢?我也愿意接受 fdupes 的替代品。

参考: https: //github.com/adrianlopezroche/fdupes

linux disk-usage synchronization fdupes

4
推荐指数
1
解决办法
2917
查看次数