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