在 QNAP(威联通)NAS 上自动查找和删除 重复文件 的方法
Qidi 2020.12.12
0. 前言
看到很多人说在 QNAP NAS 上使用 fdupes
工具只能实现查找重复文件的效果,要删除文件只能对照生成的重复文件列表手动操作。这个说法其实是不对的,fdupes
完全支持自动去重功能。
以下正文说明了使用 fdupes
工具自动查找并删除重复文件的详细步骤。
1. 安装 fdupes
QNAP NAS 没有官方的去重工具,需要先手动下载并安装 fdupes
软件。
fdupes
是一款用于文件去重的开源工具(代码仓库)。喜欢折腾的小伙子可以把代码拉到本地,自己编译安装包;和我一样懒得动的朋友可以直接到 QNAPClub.eu(点我) 下载。
网站上提供了不同的软件版本,请根据自己的 NAS 机型选择对应的版本进行下载:
我的 NAS 机型使用的 CPU 是 x86_64
架构,所以选择上图所示的 “TS-NASX86_64” 这项。截至写作本文时,能下载到的最新版安装包为 Fdupes_1.61_x86_64.qpkg
。
下载完成后,需要进入 NAS 的 App Center 中手动加载安装包进行安装:
点击上图所示带 +号 的按钮后,会弹出一个会话框让你选择安装包的路径。找到你刚刚下载的安装包,点击 安装 按钮就可以了。
2. 为 NAS 开启 SSH 连接
fdupes
的图形化操作界面既丑陋又不好用,所以请和我一样,使用命令行方式来操作。
先检查 NAS 是否允许 SSH 连接。如果你不清楚,请先到控制台中检查并确保这个功能已经启用。见下图:
如果你觉得一直开着 SSH 端口不安全,那么在完成文件查重和删除后,再禁用 SSH 连接即可。
QNAP 的 NAS 只允许以管理员身份使用 SSH,所以我们需要在登录时指明身份。在本地打开一个 cmd 窗口,并执行如下命令(记得替换成你自己的 NAS 的 IP 地址):
ssh admin@192.168.1.24
之后请根据提示,输入你的 NAS 的管理员密码。
至此,我们就通过 SSH 登录到 NAS 上了。
3. 使用 fdupes 查找并删除重复文件
别急,先检查下 fdupes
是否已正确安装。
执行 fdupes --help
命令,如果看到下面这些打印,就说明 fdupes
已经安装就绪了。否则,请检查你下载的软件版本是否有误,并重新安装:
[/share/CACHEDEV1_DATA/myPhotos] # fdupes --help
Usage: fdupes [options] DIRECTORY...-r --recurse for every directory given follow subdirectoriesencountered within-R --recurse: for each directory given after this option followsubdirectories encountered within (note the ':' atthe end of the option, manpage for more details)-s --symlinks follow symlinks-H --hardlinks normally, when two or more files point to the samedisk area they are treated as non-duplicates; thisoption will change this behavior-n --noempty exclude zero-length files from consideration-A --nohidden exclude hidden files from consideration-f --omitfirst omit the first file in each set of matches-1 --sameline list each set of matches on a single line-S --size show size of duplicate files-m --summarize summarize dupe information-q --quiet hide progress indicator-d --delete prompt user for files to preserve and delete allothers; important: under particular circumstances,data may be lost when using this option togetherwith -s or --symlinks, or when specifying aparticular directory more than once; refer to thefdupes documentation for additional information-N --noprompt together with --delete, preserve the first file ineach set of duplicates and delete the rest withoutprompting the user-I --immediate delete duplicates as they are encountered, withoutgrouping into sets; implies --noprompt-p --permissions don't consider files with different owner/group orpermission bits as duplicates-o --order=BY select sort order for output and deleting; by filemodification time (BY='time'; default), statuschange time (BY='ctime'), or filename (BY='name')-i --reverse reverse order while sorting-v --version display fdupes version-h --help display this help message[/share/CACHEDEV1_DATA/myPhotos] #
通过上面的帮助信息可以看到,我们能够以 交互方式 或者 静默方式 执行重复文件查找和删除。
当检测到重复文件时,交互方式 会给出提示信息,等待用户(也就是你)自己来决定保留重复文件中的哪一个;静默方式 则会按照预先给定的策略自动删除重复的文件。
现在可以真正开始查找和删除重复文件了。
不想读 fdupes
帮助信息 的朋友可以直接用我下面给出的几组命令:
要查看指定目录下的文件重复情况,执行命令 fdupes -m -A -R myPhotos
(myPhotos 是要进行查重的目标目录名,需要替换成你自己的)。输出信息如下,可以看到重复文件数量及其占用的磁盘空间:
[/share/CACHEDEV1_DATA] # fdupes -A -m -R myPhotos
247 duplicate files (in 247 sets), occupying 441.31 megabytes[/share/CACHEDEV1_DATA] #
-A
参数的含义是不对隐藏文件进行检查。如果你希望对隐藏文件也进行检查,将命令中的 -A
参数删去即可。
以 交互方式 去重,执行命令 fdupes -d -A -R myPhotos
(同上,请替换目标目录名为你自己的)。输出信息如下。每找到一组重复文件,软件都会打印提示,然后等待用户指定一个文件进行保留:
[/share/CACHEDEV1_DATA] # fdupes -d -A -R myPhotos
[1] myPhotos/2019-12-15上传/IMG_3141.JPG
[2] myPhotos/2019-12-15上传/IMG_0398.JPGSet 1 of 247, preserve files [1 - 2, all]: 1[+] myPhotos/2019-12-15上传/IMG_3141.JPG[-] myPhotos/2019-12-15上传/IMG_0398.JPG[1] myPhotos/2019-12-15上传/IMG_0042.JPG
[2] myPhotos/20200807上传/IMG_2557.JPGSet 2 of 247, preserve files [1 - 2, all]: 1[+] myPhotos/2019-12-15上传/IMG_0042.JPG[-] myPhotos/20200807上传/IMG_2557.JPG[1] myPhotos/20200807上传/IMG_4212.JPG
[2] myPhotos/Xiaomi_Pic_Backup/20201009/mmexport1600648565483.jpg......
使用交互方式的好处是,可以对软件提示的重复文件进行核对后再删除。
以 静默方式 去重,执行命令 fdupes -d -N -A -R myPhotos
(同上,请替换目标目录名为你自己的)。输出信息如下。软件默认策略为保留每组重复文件中的第一个,并删除其它项:
[/share/CACHEDEV1_DATA] # fdupes -d -N -A -R myPhotos[+] myPhotos/20200807上传/IMG_4218.JPG[-] myPhotos/Xiaomi_Pic_Backup/20201009/mmexport1600648483613.jpg[+] myPhotos/20200807上传/IMG_2495.JPG[-] myPhotos/20200807上传/IMG_2496.JPG[+] myPhotos/20200807上传/IMG_1780.JPG[-] myPhotos/20200807上传/IMG_1779.JPG......
无论使用哪种方式去重,最后的结果都是彻底清除了指定目录下的重复文件。为了确认这一事实,我们可以再次执行命令 fdupes -m -A -R myPhotos
进行检查。输出如下:
[/share/CACHEDEV1_DATA] # fdupes -m -A -R myPhotos
No duplicates found.[/share/CACHEDEV1_DATA] #
可以看到目标目录下已经清理干净。
在 QNAP(威联通)NAS 上自动查找和删除 重复文件 的方法相关推荐
- QNAP威联通NAS搭建SFTP服务,并内网穿透实现公网远程访问
文章目录 1. 威联通NAS启用SFTP 2. 测试局域网访问 3. 内网穿透 3.1 威联通安装cpolar内网穿透 3.2 创建隧道 3.3 测试公网远程访问 4. 配置固定公网TCP端口地址 4 ...
- qnap威联通作文件服务器,QNAP威联通NAS 架设FTP服务器.docx
QNAP威联通NAS 架设FTP服务器 QNAP威联通NAS 架设FTP服务器轻松架设一台属于自己的文件传输服务器(FTP Server)文件传输服务器(FTP Server):让你方便的分享与交换大 ...
- Oracle几种查找和删除重复记录的方法总结
转载自:http://www.csdn.net/article/1970-01-01/278287 平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能 ...
- oracle 视图去重复,CSS_Oracle几种查找和删除重复记录的方法总结,平时工作中可能会遇到当试图 - phpStudy...
Oracle几种查找和删除重复记录的方法总结 平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录. 下面总结一下几种查找和删 ...
- 在Linux中查找和删除重复文件的4种方法
大神教你在Linux中查找和删除重复文件的4种方法 在本教程中,您将学习如何使用rdfind和fdupes命令行工具以及称为DupeGuru和FSlint的GUI工具在Linux中查找和删除重复文件. ...
- Linux查找文本中的重复项,2在Linux中查找和删除重复文件的有用工具
如果您有从互联网下载各种内容的习惯,组织您的主目录甚至系统可能会特别困难. 通常,您可能会发现已下载相同的mp3,pdf,epub(以及所有其他文件扩展名)并将其复制到不同的目录中. 这可能会导致您的 ...
- 电脑中重复文件怎么删除?教你查找并删除重复文件
电脑中重复文件怎么删除?久友小编教你查找并删除重复文件 相信大家都有这样的情况,我们经常在电脑中下载文件或者歌曲,时间一长就忘记了.最后导致这些文件占用了大量的硬盘空间.下面小编就推荐大家一款小软件, ...
- QNAP 威联通 NAS的个人使用经验 篇一:设备展示(TS-451)及基础知识
原作者:noskin http://www.hdpfans.com/thread-487413-1-1.html(貌似这个也是转载) 前言 NAS(Network Attached Storage) ...
- 如何找出电脑内的重复文件,查找电脑磁盘重复文件的方法
不少小伙伴都有收集各种软件.图片和资料的习惯,但是时间久了,有许多软件.图片和资料已经下载过了,但是忘记了,又重新下载了,这样导致电脑里面有很多重复的软件.图片和资料.如何找出电脑内的重复文件? 我们 ...
- QNAP 威联通 NAS的个人使用经验 篇二:QTS系统各功能讲解
原文网址:https://post.smzdm.com/p/87164/ 接上篇 8.NAS存储功能的使用 存储功能是NAS最基本的功能,简单的说,你完全可以把它当成一块外置硬盘,只不过它通过网络和计 ...
最新文章
- oracle导出客户机使用us7a,导入 Oracle WORLD SAMPLE
- 【Java基础】序列化之serialVersionUID
- ubuntu9.10硬盘安装记录一
- VTK:Utilities之SortDataArray
- 满分简便代码:1009 说反话 (20分)
- confirm修改按钮文字_踏入MG动画设计的门,才知道文字动画这么重要……
- 刚刚!第七次人口普查出炉!男性比女性多3490万,老龄化进一步加深
- Python__正则表达式
- 进位位判别法_''进位-判断-执行''的通用思想
- linux如何显示前一天日期,在linux显示昨天(前一天)的日期
- 使用神经网络实现对天气的预测
- 无人驾驶之硬件平台详解
- XCOM Enemy Unknown
- Jumserver安装日志审计和资产管理
- 单片机 TM4C123GXL 学习 例程
- “胜兵先胜而后求战,败兵先战而后求胜”—系统分析师考试经验谈
- vue报错:the template root disallows ‘v-for‘ directives解决办法
- 生活随记 - NBA总决赛第5场 球迷有感
- 【ML特征工程】第 3 章 :文本数据:扁平化、过滤和分块
- 【javaweb各种启动报错问题】