简介:
我们怎么使用SEHLL 和命令行去删除 指定目录下的重复文件?
我们怎么删除不同目录下重复的文件?
我们将使用一个工具:fdupes ,它会查找和删除指定目录的重复文件,它通过文件的大小和MD5值进行比较 。一个字节一个字节进行对比。fdupes是一个删除指定目录下重复文件的好工具。
Install fdupes
如果你使用debian/ubuntu linux
如果你使用 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,如需转载请自行联系原作者