Ubuntu中查找重复文件的常用方法
fdupes是Ubuntu下专用于查找重复文件的轻量级命令行工具,支持递归搜索子目录、哈希校验(MD5)及交互式删除。
sudo apt update && sudo apt install fdupes
。fdupes -r /path/to/directory
命令,-r
参数表示递归搜索子目录,会列出所有重复文件的路径(按哈希值分组)。-d
参数(如fdupes -r -d /path/to/directory
),终端会提示选择保留的文件(输入对应编号),避免误删。-dN
参数(如fdupes -r -dN /path/to/directory
),会自动保留每组重复文件的第一个,删除其余副本。通过计算文件内容的MD5哈希值判断重复,适合需要自定义处理流程的场景。
mkdir ~/temp_duplicates
。find /path/to/directory -type f -exec md5sum {} \; | sort | uniq -d -w 32 | cut -d ' ' -f 2- | while read file; do cp "$file" ~/temp_duplicates/; done
。find
查找所有文件,md5sum
计算哈希值,sort | uniq -d -w 32
筛选出重复的哈希值(MD5长度为32字符),cut
提取文件路径,while
循环将重复文件复制到临时目录。ls ~/temp_duplicates/
查看所有重复文件。若不熟悉命令行,可选择图形化工具,操作更直观。
sudo apt install fslint
;fslint-gui
打开图形界面,选择需扫描的目录,点击“Find”按钮即可查找重复文件(支持按文件名、内容、大小等多种方式过滤),选中重复文件后可手动删除。sudo add-apt-repository ppa:dupeguru/ppa
,更新软件包sudo apt update
,安装sudo apt install dupeguru
;dupeguru
打开,选择扫描模式(内容/文件名/两者),指定目录后点击“Scan”,结果中会显示相似文件,选中后可直接删除。rdfind不仅能查找重复文件,还能自动用硬链接或删除替换,节省磁盘空间。
sudo apt install rdfind
。rdfind /path/to/directory
,结果会保存到当前目录的RESULTS.txt
文件中(包含重复文件列表及建议操作)。-dryrun true
参数(如rdfind -dryrun true /path/to/directory
),仅显示重复项而不执行操作,确认无误后再进行下一步。rdfind -makehardlinks true /path/to/directory
;rdfind -deleteduplicates true /path/to/directory
。/usr
、/etc
),可能需要sudo
权限(如sudo fdupes -r /usr
),但建议优先扫描个人目录(如~/Documents
、~/Downloads
)。