请问: Linux 系统下,有没有好用的 [查找重复文件] 的软件?

发布于

在 Windows 中,查找重复文件时,我一直使用一款名为 [NoClone] 的软件。它通过二进制对比的方式,能够找到[文件内容]完全相同的文件,即使你将其中一个文件的[文件名]和[扩展名]全部更改, [NoClone] 也能识别出来。当然,它识别出来的重复文件,其实它们的哈希值也是相同的。

最近,我开始接触 Ubuntu。我想请问一下,在 Linux 中,特别是在 Ubuntu 中,是否有类似于 NoClone 这样的软件?

请了解这方面的大佬推荐几个软件。

谢谢!

---

原文链接:[点击查看](https://www.v2ex.com/t/1228798)

评论(20)

如果只是临时想看一眼,写个简单的命令就行了:
find -type f |xargs md5sum |sort|uniq -w 32 -c -d
不过缺点是这条命令不会把所有重复文件的完整路径都打印出来,你可以先把结果存下来,然后再搜一次。

· 0 个赞

回复

补充一下,如果不想看重复数量,只想把重复文件路径都列出来,把参数改成 -D 就行:
find -type f |xargs md5sum |sort|uniq -w 32 -D

· 0 个赞

直接让 AI 帮你写个脚本,用 md5sum 把文件跑一遍就搞定了。要是非想要个图形界面,用 Python 或者 Node 随便套个 GUI 库搓一个也不是啥难事。

· 0 个赞

必须推荐 czkawka!里面用的是 b3sum,速度非常快,而且还能找相似的视频和图片。Linux 和 Windows 我都在用。

· 0 个赞

推荐个开源工具 fclones:https://github.com/pkolaczk/fclones

· 0 个赞

可以看看这个:https://codeberg.org/jbruchon/jdupes 。说实在的,个人使用的话随便对比下 hash 就行了。除非你是那种喜欢疯狂重复收藏的人,有一套很复杂的去重逻辑,那就直接写个程序搞定。需求这么明确,问下 AI 马上就能给你一堆方案。

· 0 个赞

不如直接把需求整理清楚,丢给 AI 写一个吧。

· 0 个赞

楼上一直说算 hash 感觉方向有点跑偏了,全盘算 checksum 成本太高了吧。其实单纯靠文件的基本 meta data(比如大小)来筛选,可信度就已经很高了,没必要动不动就全量校验。

· 0 个赞

让 AI 帮你写个其实很快。思路就是先按文件大小筛查一遍,大小一样的再比前几个字节的哈希,如果还一样再算整个文件的哈希。这种逻辑交给 AI 处理还能给你更优的方案。

· 0 个赞

都用 Linux 了,直接写一行命令不就搞定了,没必要专门找软件。

· 0 个赞

可以考虑把所有文件按内容放进一个 B+ 树索引里来对比。

· 0 个赞

可以试试 fclones( https://github.com/pkolaczk/fclones#benchmarks ),它在 GitHub README 里还顺带列了其他同类工具的跑分对比,选个适合自己的就行。

· 0 个赞

强推 Czkawka,搜重复文件神器。

· 0 个赞

如果是比较严谨的生产环境,这种需求一般直接在文件系统( fs )层面去解决。如果是自己日常随便用用,那找点现成工具或者自己手搓个脚本对付一下就行了。

· 0 个赞

你可以直接丢给 AI(比如 Gemini )问问,让它给你推荐 fdupes 或 rdfind 这种工具,或者直接把你的具体需求描述一下,让 AI 给你现场写个 Shell 脚本去跑。

· 0 个赞

我自己顺手写了个小工具,你可以看看能不能满足需求:https://github.com/Laotree/onley

· 0 个赞

楼主最好先明确一下“重复”的定义哈,比如软链接、硬链接这种到底算不算在内?

· 0 个赞

回复

回复楼上的,我举个常见的场景吧:比如网上下载的资源,平时自己工作弄的文档,因为没整理好,时间久了同一份文件经常会在不同文件夹里各存几份,连名字都可能不一样。我想找的就是那种底层数据(二进制层面)完全一致的重复文件。

· 0 个赞

你在找这个吗?https://github.com/qarmin/czkawka 挺好用的开源项目,强烈推荐。

· 0 个赞

听楼主的描述,这不就是比对文件的 Hash 值嘛。

· 0 个赞