首页 帮助中心 香港高防服务器 Linux中查找和删除重复文件的便捷方法
Linux中查找和删除重复文件的便捷方法
时间 : 2025-02-01 09:08:47 编辑 : 华纳云 阅读量 : 28

服务器使用过程中,查找和删除重复文件属于常见操作,但是大量的查找和删除文件是一个比较麻烦的工作,需要花费一定时间。如果所使用机器为GNU/Linux,查找重复文件就会更简单因为可以直接使用fdupes来完成。

Fdupes是一款Linux程序,由C语言编写根据MIT许可证发布,可以在给定目录和子目录中查找重复文件。Fdupes通过对比文件的MD5签名在进行字节和对字节的比较来识别重复文件。Fdupes工具可传递出许多选项来列出、删除、替换具有重复文件的硬链接文件。对比顺序为:大小比较>部分 MD5 签名比较>完整 MD5 签名比较>字节到字节比较。

安装fdupes(基于Debian系统如Ubuntu和Linux Mint):

$ sudo apt-get install fdupes

在基于CentOS / RHEL和Fedora的系统上,需打开epel存储库:

# yum install fdupes

# dnf install fdupes [在Fedora 22及以上版本]

Fedora 22开始,默认包管理器yum被dnf替代。安装完成后就可以开始使用fdupes。假设我们现在目录有重复文件,如tecmint:

$ mkdir /home/"$USER"/Desktop/tecmint && cd /home/"$USER"/Desktop/tecmint && for i in {1..15}; do echo "我爱Linux。" > tecmint${i}.txt ; done

先查看全部文件:

$ ls -l

可以输出结果有15个文件,tecmint1.txt、tecmint2.txt…tecmint15.txt,每个文件内容都含:“我爱Linux。”

在tecmint文件夹内搜索重复文件:

$ fdupes /home/$USER/Desktop/tecmint 

使用r选项可以在每个目录含子目录下递归搜索重复项。可以递归搜索全部文件和文件夹,根据文件和文件夹数量,扫描重复项需要一些时间过程中可以看到总进度:

$ fdupes -r /home

Progress [37780/54747] 69%

S选线可以用来查看文件夹中重复项的大小:

$ fdupes -S /home/$USER/Desktop/tecmint

可以使用S和r一起查看每个目录及子目录中重复文件大小:

$ fdupes -Sr /home/avi/Desktop/

还可以根据需要选择在两个文件夹或三个文件夹中进行选择,完成文件夹递归搜索。

$ fdupes /home/avi/Desktop/ /home/avi/Templates/

删除重复文件保留副本可以使用d选项:

$ fdupes -d /home/$USER/Desktop/tecmint

可以选择如下所示的范围来删除特定范围的文件:

Set 1 of 1, preserve files [1 - 15, all]: 2-15

用选项“-f”省略每组匹配中的第一个文件,先列出目录文件:

$ ls -l /home/$USER/Desktop/howtoing

然后省略每组匹配中的第一个文件:

$ fdupes -f /home/$USER/Desktop/tecmint

再检查fdupes 的安装版本:

$ fdupes --version

查看fdupes的更多内容:

$ fdupes -h

 

华纳云 推荐文章
Docker Compose是提升多容器应用管理效率的关键工具 香港高防服务器的具体防御优势分析有哪些? 为什么要选择香港高防服务器?
客服咨询
7*24小时技术支持
技术支持
渠道支持