$ fdupes -h
用法: fdupes [options] 目录...
-r --recurse 为每个给定的目录跟随子目录
内遇到
-R --recurse:对于在此选项之后给出的每个目录,请遵循
内遇到的子目录(注意':'在
选项的结尾,更多详细信息的手册页)
-s --symlinks 跟随符号链接
-H --hardlinks 通常,当两个或多个文件指向同一个文件时
磁盘区域它们被视为非重复;这
选项将改变这种行为
-n --noempty 排除零长度文件
-A --nohidden 排除隐藏文件
-f --omitfirst 忽略每组匹配中的第一个文件
-1 --sameline 在一行中列出每组匹配项
-S --size 显示重复文件的大小
-m --summarize 总结重复信息
-q --quiet 隐藏进度指示器
-d --delete 提示用户输入要保留和删除的所有文件
其他; 重要:在特定情况下,
一起使用此选项时可能会丢失数据
使用 -s 或 --symlinks,或者当指定一个特定目录不止一次;参考fdupes 文档以获取更多信息
-N --noprompt 和 --delete 一起,保留第一个文件
每组重复并删除其余的没有提示用户
-v --version 显示 fdupes 版本
-h --help 显示此帮助信息
1、使用-r 选项在每个目录(包括其子目录)下递归搜索重复项。
它递归地搜索所有文件和文件夹,具体取决于文件和文件夹的数量,扫描重复项需要一些时间。同时,您将看到终端的总进度,类似这样。
[root@192_168_209_128 test]# fdupes -S /home/dba/test
12 bytes each:
/home/dba/test/file1.txt
/home/dba/test/file2.txt
/home/dba/test/file3.txt
/home/dba/test/file4.txt
/home/dba/test/file5.txt
/home/dba/test/file6.txt
/home/dba/test/file7.txt
/home/dba/test/file8.txt
/home/dba/test/file9.txt
/home/dba/test/file10.txt
/home/dba/test/file11.txt
/home/dba/test/file12.txt
/home/dba/test/file13.txt
/home/dba/test/file14.txt
/home/dba/test/file15.txt
2、使用-S选项查看在文件夹中找到的重复项的大小。
[root@192_168_209_128 test]# fdupes -S /home/dba/test
12 bytes each:
/home/dba/test/file1.txt
/home/dba/test/file2.txt
/home/dba/test/file3.txt
/home/dba/test/file4.txt
/home/dba/test/file5.txt
/home/dba/test/file6.txt
/home/dba/test/file7.txt
/home/dba/test/file8.txt
/home/dba/test/file9.txt
/home/dba/test/file10.txt
/home/dba/test/file11.txt
/home/dba/test/file12.txt
/home/dba/test/file13.txt
/home/dba/test/file14.txt
/home/dba/test/file15.txt
3、您可以同时使用-S和-r选项查看遇到的每个目录和子目录的重复文件大小,如下所示:
[root@192_168_209_128 test]# fdupes -Sr /home/dba/test |more
315 bytes each:
/home/dba/test/etc/firewalld/zones/public.xml
/home/dba/test/etc/firewalld/zones/public.xml.old
39 bytes each:
/home/dba/test/etc/subuid-
/home/dba/test/etc/subgid-
4364 bytes each:
/home/dba/test/etc/vmware-tools/poweroff-vm-default
/home/dba/test/etc/vmware-tools/poweron-vm-default
/home/dba/test/etc/vmware-tools/resume-vm-default
/home/dba/test/etc/vmware-tools/suspend-vm-default
984 bytes each:
/home/dba/test/etc/sane.d/dc210.conf
/home/dba/test/etc/sane.d/dc240.conf
13 bytes each:
/home/dba/test/etc/sane.d/s9036.conf
/home/dba/test/etc/sane.d/nec.conf
1 byte each:
/home/dba/test/etc/at.deny
/home/dba/test/etc/resolv.conf.save
104 bytes each:
/home/dba/test/etc/dconf/db/gdm
/home/dba/test/etc/dconf/db/site
/home/dba/test/etc/dconf/db/local
4504 bytes each:
--More--
4、除了递归搜索一个文件夹或所有文件夹外,您可以根据需要选择两个文件夹或三个文件夹。更不用说,如果需要,您可以使用选项-S和/或-r。
$ fdupes /home/avi/Desktop/ /home/avi/Templates/
5、要在保留副本的同时删除重复文件,您可以使用选项'-d'。使用此选项时应格外小心,否则您可能最终会丢失必要的文件/数据,并注意该过程是不可恢复的。
[root@192_168_209_128 test]# fdupes -d /home/dba/test
[1] /home/dba/test/file1.txt
[2] /home/dba/test/file2.txt
[3] /home/dba/test/file3.txt
[4] /home/dba/test/file4.txt
[5] /home/dba/test/file5.txt
[6] /home/dba/test/file6.txt
[7] /home/dba/test/file7.txt
[8] /home/dba/test/file8.txt
[9] /home/dba/test/file9.txt
[10] /home/dba/test/file10.txt
[11] /home/dba/test/file11.txt
[12] /home/dba/test/file12.txt
[13] /home/dba/test/file13.txt
[14] /home/dba/test/file14.txt
[15] /home/dba/test/file15.txt
Set 1 of 1, preserve files [1 - 15, all]:
您可能会注意到列出了所有重复项,并提示您删除,一个一个或某个范围或一次全部删除。您可以选择类似下面的范围来删除特定范围的文件文件。
Set 1 of 1, preserve files [1 - 15, all]: 2-15
[-] /home/dba/test/file1.txt
[+] /home/dba/test/file2.txt
[-] /home/dba/test/file3.txt
[-] /home/dba/test/file4.txt
[-] /home/dba/test/file5.txt
[-] /home/dba/test/file6.txt
[-] /home/dba/test/file7.txt
[-] /home/dba/test/file8.txt
[-] /home/dba/test/file9.txt
[-] /home/dba/test/file10.txt
[-] /home/dba/test/file11.txt
[-] /home/dba/test/file12.txt
[-] /home/dba/test/file13.txt
[-] /home/dba/test/file14.txt
[-] /home/dba/test/file15.txt
6、从安全的角度来看,您可能希望将“fdupes”的输出打印到文件中,然后检查文本文件以确定要删除的文件。这减少了意外删除文件的机会。你可以这样做:
$ fdupes -Sr /home > /home/fdupes.txt
*注意:您可以将“/home”替换为您想要的文件夹。如果要分别搜索递归和打印大小,也可以使用选项“-r”和“-S” 。
7、您可以使用选项-f省略每组匹配项中的第一个文件。
首先列出目录的文件。
[root@192_168_209_128 test]# ls -l /home/dba/test
total 60
-rw-r--r-- 1 root root 12 Apr 10 23:22 file10.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file11.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file12.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file13.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file14.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file15.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file1.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file2.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file3.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file4.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file5.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file6.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file7.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file8.txt
-rw-r--r-- 1 root root 12 Apr 10 23:22 file9.txt
然后从每组匹配项中省略第一个文件。
[root@192_168_209_128 test]# fdupes -f /home/dba/test
/home/dba/test/file2.txt
/home/dba/test/file3.txt
/home/dba/test/file4.txt
/home/dba/test/file5.txt
/home/dba/test/file6.txt
/home/dba/test/file7.txt
/home/dba/test/file8.txt
/home/dba/test/file9.txt
/home/dba/test/file10.txt
/home/dba/test/file11.txt
/home/dba/test/file12.txt
/home/dba/test/file13.txt
/home/dba/test/file14.txt
/home/dba/test/file15.txt