0

0

如何在Linux中快速查找重复文件?

冷炫風刃

冷炫風刃

发布时间:2025-10-06 17:30:02

|

1005人浏览过

|

来源于php中文网

原创

使用哈希值识别重复文件最有效,推荐fdupes或jdupes工具,也可用find与md5sum组合实现。

如何在linux中快速查找重复文件?

在Linux中快速查找重复文件,关键在于使用合适的工具和命令组合。最有效的方法是通过文件内容的哈希值来识别重复项,而不是仅依赖文件名或大小。下面介绍几种实用的方法。

使用fdupes命令

fdupes 是一个专门用于查找重复文件的工具,它通过比较文件内容的MD5签名来识别重复项。

  • 安装 fdupes(Debian/Ubuntu):
    sudo apt install fdupes
  • 基本用法:
    fdupes /path/to/directory
  • 递归查找并按组显示:
    fdupes -r /home/user/Documents
  • 只显示包含重复文件的组:
    fdupes -rd /path

使用find与md5sum组合

如果系统没有安装专用工具,可以用 find 和 md5sum 配合脚本逻辑实现。

  • 生成所有文件的MD5值:
    find /path -type f -exec md5sum {} \;
  • 排序并找出重复项:
    find /path -type f -exec md5sum {} \; | sort | uniq -d -w32
  • 说明:-w32 表示按前32个字符(即MD5值)判断是否重复

使用jdupes(fdupes的增强版)

jdupes 是 fdupes 的更快版本,支持多线程和更高效的比对算法。

甲骨文AI协同平台
甲骨文AI协同平台

专门用于甲骨文研究的革命性平台

下载
  • 安装 jdupes(部分发行版提供):
    sudo apt install jdupes
  • 用法类似 fdupes:
    jdupes -r /path/to/search
  • 可结合 delete 选项交互删除重复文件:
    jdupes -r -d /path

小技巧与注意事项

实际使用时注意以下几点以提高效率和安全性。

  • 先在小范围目录测试命令,避免误操作大量文件
  • 可以加 size 过滤避免扫描极小文件:
    find /path -type f -size +1k
  • 对大容量数据建议重定向输出结果供后续分析:
    fdupes -r /data > duplicates.txt
  • 不要直接批量删除,先查看确认重复文件内容是否真的相同

基本上就这些。选择 fdupes 或 jdupes 是最省事的方式,而 find + md5sum 组合适用于无额外依赖的环境。关键是根据目录规模和系统条件选择合适方法。

相关专题

更多
sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

387

2023.09.04

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

481

2023.08.10

Python 多线程与异步编程实战
Python 多线程与异步编程实战

本专题系统讲解 Python 多线程与异步编程的核心概念与实战技巧,包括 threading 模块基础、线程同步机制、GIL 原理、asyncio 异步任务管理、协程与事件循环、任务调度与异常处理。通过实战示例,帮助学习者掌握 如何构建高性能、多任务并发的 Python 应用。

143

2025.12.24

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

269

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

210

2023.12.29

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

403

2023.08.14

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

704

2023.06.29

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

19

2026.01.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号