且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

fdupes 删除指定目录下重复文件

更新时间:2022-08-12 16:55:38

简介:
我们怎么使用SEHLL 和命令行去删除 指定目录下的重复文件?
我们怎么删除不同目录下重复的文件?
我们将使用一个工具:fdupes ,它会查找和删除指定目录的重复文件,它通过文件的大小和MD5值进行比较 。一个字节一个字节进行对比。fdupes是一个删除指定目录下重复文件的好工具。 

Install fdupes  
如果你使用debian/ubuntu linux 
# apt-get install fdupes


如果你使用 redhat/rhel/fedota/centos 你可以使用rpm包安装或yum
rpm :  http://www.cyberciti.biz/faq/rhel-centos-fedora-media-mp3-players-installtion/
yum install fdupes

fdupes 怎么工作?
在 /etc目录查找重复文件 
#fdupes /etc

结果
/etc/vimrc
/etc/virc


删除不需要的文件? (用此可以查找磁盘上多余的文件--当空间不足时)
测试一下:
cp /etc/vimrc /etc/virc /tmp/test

# fdupes -d /tmp/a/
[1] /tmp/a/vimrc                                                
[2] /tmp/a/virc

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

     [+] /tmp/a/vimrc
     [-] /tmp/a/virc
(只选择删除其中一个,保留一个)
再查找一下
# fdupes /tmp/a/ 
查找结果为空

递归查询命令: -r 
exp: fdupes -r /etc/ /data/etc/ 

查看重复文件的大小
# fdupes -S /etc             
1533 bytes each:                                                
/etc/vimrc
/etc/virc

更多命令见:man page fdupes 

与Sed 结合 删除一些不必要的文件 :
fdupes -r -n -S /directory | sed -r “s/^/#rm \”/” | sed -r “s/$/\”/” >duplicate-files.sh



本文转自守住每一天51CTO博客,原文链接:http://blog.51cto.com/liuyu/275288,如需转载请自行联系原作者