在 QNAP(威联通)NAS 上自动查找和删除 重复文件 的方法

news/2024/10/18 3:21:53/

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 中手动加载安装包进行安装:
手动安装 fdupes
点击上图所示带 +号 的按钮后,会弹出一个会话框让你选择安装包的路径。找到你刚刚下载的安装包,点击 安装 按钮就可以了。


2. 为 NAS 开启 SSH 连接

fdupes 的图形化操作界面既丑陋又不好用,所以请和我一样,使用命令行方式来操作。

先检查 NAS 是否允许 SSH 连接。如果你不清楚,请先到控制台中检查并确保这个功能已经启用。见下图:
启用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] #

可以看到目标目录下已经清理干净。


http://www.ppmy.cn/news/704501.html

相关文章

办公娱乐一站式服务 威联通TS-251 NAS评测

随着1080P屏幕的普及以及4K屏幕的出现,为个人和企业的数据存储带来了全新的挑战,安全高效的数据存储成为一个不小的难题。据统计,每个成年人拥有1.5个可携带设备,在工作生活的方方面面提供助力。这些不同的设备,随时随…

威联通NAS用Docker搭建Minecraft(MC)服务器

QNAP使用Docker容器搭建我的世界游戏服务器 本教程以1.19版官方版服务端为例,其他服务端也差不多的流程。 视频教程:https://www.bilibili.com/video/BV16Z4y1i79R/ 威联通NAS用Docker搭建我的世界(MC)服务器 其他版本我的世界服…

qnap安装Linux程序,威联通QTS独家绝技,被忽视的神器——Ubuntu Linux Station

前言 我个人认为威联通的QTS系统里面有三大神器:Virtualization Station、Container Station和Ubuntu Linux Station。前两者用途比较明确,衍生出来的玩法和用法比较多,相关文章也丰富一些。而Ubuntu Linux Station在我的文章里面虽然有多次推荐,但是整体的曝光度感觉不如前…

nas安装emby_威联通QNAP系统入门进阶 篇二:宅家新姿势—威联通NAS安装套件版Emby搭建家庭影音服务器...

威联通QNAP系统入门&进阶 篇二:宅家新姿势—威联通NAS安装套件版Emby搭建家庭影音服务器 2020-02-04 19:38:54 123点赞 1466收藏 123评论 你是AMD Yes党?还是intel和NVIDIA的忠实簇拥呢?最新一届#装机大师赛#开始啦!本次装机阵营赛分为3A红组、intel NVIDIA蓝绿组、混搭…

威联通QNAP-通过WinSCP访问安装路径并执行命令

需要打开威联通SSH功能; WinSCP官网下载软件下载路径 通过威联通admin账户(重要)登录WinSCP,便可访问到威联通软件安装路径; 利用WinSCP连接威联通成功后,点击“命令”菜单图标,即可采用命…

QNAP 威联通磁盘分区探索与数据导出

之前晒了一单Qnap的TS-231,并且讲了我的一些基本偏好设置。这篇文档打算介绍一下Qnap的磁盘分区情况以及在NAS突然挂掉的情况,如何使用移动硬盘盒来紧急导出内容。 QNAP 威联通 TS-231 NAS存储 开箱及评测近些年家用NAS市场越来越火爆,选择也…

零宽字符总结

背景 开发中遇到了不显示的零宽字符造成话题归一化出现问题 引用 零宽度字符隐写(CTF) python - 字符串总结 Unicode零宽度控制字符表 已确定零宽字符 0x200B~0x200F:0xe2 0x80 0x8b ~ 0xe2 0x80 0x8f 0x202A~0x202E:0xe2 0x…

威联通(NAS)搭建个人音乐中心

我为什么要自己搭建音乐服务 曾记得早些年,音乐是可以随便在线听,随便下载的,没有付费这么一说的(背后是音乐平台提供的版权支持)。我们听音乐也就可以很随意,但是这几年,音乐的版权开始管理的…