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)。