信息发布→ 登录 注册 退出

Linux 怎么检测重复文件?fdupes 使用教程

发布时间:2025-12-04

点击量:
fdupes是Linux下通过内容比对查找并安全删除重复文件的命令行工具;需依发行版用apt/dnf/pacman安装,支持-r递归、-S显大小、-f忽略首文件等选项,推荐用fdupes -rd交互式删除以避免误删。

linux 怎么检测重复文件?fdupes 使用教程

在Linux系统中,检测和处理重复文件是管理磁盘空间的常见需求。fdupes是一个高效、可靠的命令行工具,它通过比较文件内容(而非仅文件名)来精确找出重复项,能帮你快速释放被占用的空间。

安装 fdupes

fdupes通常不在系统默认安装包中,需要使用包管理器手动安装。根据你的发行版选择对应命令:

- Debian/Ubuntu: sudo apt install fdupes

- CentOS/RHEL/Fedora: sudo dnf install fdupes (或CentOS 7用yum)

- Arch Linux: sudo pacman -S fdupes

查找重复文件

安装完成后,就可以开始扫描了。核心命令是 fdupes [选项] [目录]

常用选项让你更灵活地控制扫描过程:

  • -r: 递归扫描该目录下的所有子目录。
  • -S: 在结果中显示每个文件的大小,方便你判断。
  • -f: 在列出重复组时,忽略每组中的第一个文件(常与删除操作配合)。
  • -n: 忽略空文件(大小为0的文件)。

例如,要递归扫描“~/Downloads”目录并查看文件大小,运行:

fdupes -r -S ~/Downloads

输出会将内容相同的文件分成一组组列出,组与组之间用空行分隔,非常清晰。

星辰Agent 星辰Agent

科大讯飞推出的智能体Agent开发平台,助力开发者快速搭建生产级智能体

星辰Agent 378 查看详情 星辰Agent

安全地删除重复文件

找到重复文件后,下一步就是清理。直接删除有风险,fdupes提供了两种安全的方式。

推荐先使用交互式删除,由你手动决定保留哪个:

fdupes -rd ~/your/directory

执行后,fdupes会逐组列出文件,并给你编号。你可以输入想删除的文件编号,或者直接回车保留这组所有文件。这种方式最安全,避免误删重要数据。

如果你确定要自动删除,保留每组的第一个文件,可以使用:

fdupes -rdN ~/your/directory

这里-d表示删除,-N表示不提示,直接保留第一项并删除其余重复项。这个操作不可逆,请务必先确认好路径和内容。

基本上就这些,先预览再操作,就能轻松搞定重复文件。

以上就是Linux 怎么检测重复文件?fdupes 使用教程的详细内容,更多请关注其它相关文章!


相关文章: Lar*el 递归关系中排除指定分支的教程  响应式容器内容自动缩放与宽高比维持教程  Angular中单选按钮的正确使用与常见陷阱解析  俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达  抖音极速版最新版本 抖音极速版官方下载地址  如何解决电商平台定制报价请求的“黑洞”问题,SprykerQuoteRequest模块助你提升客户体验与销售效率  将PCM16音频转换为W*并编码为Base64:浏览器环境下的手动处理指南  PHP表单提交后函数重复执行的解决方案:管理$_POST数据  J*aScript Promise链中如何正确终止后续.then执行并处理错误  Golang如何使用bytes.Split分割字节切片_Golang bytes切片分割方法  QQ邮箱网页版邮箱入口 QQ邮箱官方登录平台  蓝湖怎样用切图标注提对接效率_蓝湖用切图标注提对接效率【设计对接】  Tailwind CSS line-clamp 布局问题解析与修复指南  Log4j Console Appender性能瓶颈与高并发优化策略  PHP文件上传至S3:策略、考量与避免本地存储的挑战  利用5118提升短视频内容效果_5118短视频关键词优化方法  Golang如何实现状态模式管理对象状态_Golang State模式实现技巧  QQ邮箱网页版入口页面 QQ邮箱在线登录入口官网  Composer如何处理Git子模块(submodule)依赖_Composer与Git Submodule的对比与选择  在J*a里如何理解依赖关系的方向_依赖方向在模块结构中的作用  12306选座怎么选到商务座_12306商务座选择与配置说明  html5 app怎么运行环境_配html5 app运行环境【教程】  c++如何使用Catch2编写单元测试_c++简洁易用的BDD风格测试框架  在Blazor WebAssembly应用中动态注入客户端特定指标代码的策略  消息称三星明年 2 月正式发布 HBM4,与 SK 海力士同台竞技  Composer的 "licenses" 命令如何帮助你遵守开源协议_检查项目依赖的许可证合规性  AWS EC2实例间SQL Server连接超时:安全组配置与故障排除指南  深入理解Google Cloud Datastore查询:祖先路径与数据一致性  Pyrogram与g4f集成:异步编程实践与常见错误解决  Go语言中Map值调用指针接收器方法的限制与应对  C++如何连接MySQL数据库_C++使用Connector/C++操作MySQL数据库教程  葱吃多了会怎样 葱吃多了会伤胃吗  J*aScript动态修改指定div内所有a标签样式指南  zookeeper 都有哪些功能?  WooCommerce 购物车显示所有交叉销售商品教程  支付宝解绑银行卡步骤_支付宝如何解除绑定银行卡  铁路12306卧铺选择攻略 铁路12306下铺座位预定技巧  J*a递归快速排序中静态变量的状态管理与陷阱  使用Python高效删除Word宏并转换DOCM为DOCX格式  PHP高效扁平化嵌套数组:使用array_merge与数组解包操作符  邮政编码查询不到怎么办_邮政编码查询不到的常见原因与对策  Safari浏览器输入栏卡顿如何解决 Safari搜索建议与缓存清理  Win10磁盘清理工具在哪 Win10打开并使用磁盘清理【教程】  Golang如何实现微服务鉴权与权限控制_Golang微服务鉴权与权限管理实践  win11怎么查看应用耗电情况 Win11电池设置查看应用能耗排行榜【优化】  QQ官网正版登录链接 QQ在线登录入口最新  FullCalendar 自定义按钮样式定制指南  Lar*el开发:如何在编辑界面正确预选数据库中的多选标签  中兴BladeV30怎样用测距估书架层高_iPhone中兴BladeV30测距估书架层高【家装参考】  J*aScript中管理异步API调用:确保操作顺序与数据一致性 

在线客服
服务热线

服务热线

4008988990

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!