如何使用 fdupes 在 Linux 上查找和删除重复文件

在处理大量媒体和文档时,在您的计算机上累积同一文件的多个副本是很常见的。 不可避免的是,随之而来的是一个充满冗余文件的杂乱存储空间,从而引发了对系统上重复文件的定期检查。

为此,您会找到各种程序来识别和删除重复文件。 fdupes 恰好是适用于 Linux 的此类程序之一。 因此,请跟随我们讨论 fdupes 并指导您完成在 Linux 上查找和删除重复文件的步骤。

什么是 fdupes?

Fdupes 是一个基于 CLI 的程序,用于在 Linux 上查找和删除重复文件。 它是在 GitHub 上的 MIT 许可证下发布的。

以最简单的形式,程序通过运行指定的目录来工作 md5sum 比较 MD5 其文件的签名。 然后它对它们进行逐字节比较,以识别重复文件并确保没有遗漏重复文件。

一旦 fdupes 识别出重复文件,它就会让您选择删除它们或用硬链接(原始文件的链接)替换它们。 因此,根据您的要求,您可以进行相应的操作。

如何在 Linux 上安装 fdupes?

Fdupes 可用于大多数主要的 Linux 发行版,例如 Ubuntu、Arch、 Fedora等。根据您在计算机上运行的发行版,发出下面给出的命令。

在基于 Ubuntu 或 Debian 的系统上:

sudo apt install fdupes

安装 fdupes Fedora/CentOS 和其他基于 RHEL 的发行版:

sudo dnf install fdupes

在 Arch Linux 和 Manjaro 上:

sudo pacman -S fdupes

如何使用 fdupes?

在计算机上安装程序后,请按照以下步骤查找并删除重复文件。

使用 fdupes 查找重复文件

首先,让我们从搜索目录中的所有重复文件开始。 基本语法是:

fdupes path/to/directory

为了 example如果你想在 文件 目录,您将运行:

fdupes ~/Documents

输出:

如果 fdupes 在指定目录中发现重复文件,它将返回按集合分组的所有冗余文件的列表,然后您可以根据需要对它们执行进一步的操作。

但是,如果您指定的目录包含子目录,则上述命令不会识别其中的重复项。 在这种情况下,您需要做的是执行递归搜索以查找子目录中存在的所有重复文件。

要在 fdupes 中执行递归搜索,请使用 -r 旗帜:

fdupes -r path/to/directory

为了 example:

fdupes -r ~/Documents

输出:

虽然上述两个命令可以很容易地在指定目录(及其子目录)中找到重复文件,但它们的输出也包括零长度(或空)重复文件。

尽管当您的系统上有太多空的重复文件时,此功能可能仍然会派上用场,但当您只想找出目录中的非空重复文件时,它可能会引起混乱。

幸运的是,fdupes 允许您使用 -n 选项,您可以在命令中使用它。

笔记: 您可以在正常搜索和递归搜索中排除非空重复文件。

仅在您的机器上搜索非空重复文件:

fdupes -n ~/Documents

输出:

如果您要处理多组重复文件,最好将结果输出到文本文件以供将来参考。

为此,请运行:

fdupes path/to/directory > file_name.txt

…在哪里 路径/到/目录 是您要在其中执行搜索的目录。

在文件夹中搜索重复文件 文件 目录,然后将输出发送到文件:

fdupes /home/Documents > output.txt

最后但同样重要的是,如果您希望查看与目录中重复文件相关的所有信息的摘要,您可以使用 -m 在您的命令中标记:

fdupes -m path/to/directory

获取重复的文件信息 文件 目录:

fdupes -m ~/Documents

输出:

在您使用 fdupes 期间的任何时候,如果您需要有关命令或功能的帮助,请使用 -H 获取命令行帮助的选项:

fdupes -h

使用 fdupes 删除 Linux 中的重复文件

在您确定目录中的重复文件后,您可以继续从系统中删除/删除这些文件以清除混乱并释放存储空间。

要删除重复文件,请指定 -d 用命令标记并点击 Enter

fdupes -d path/to/directory

删除重复文件 下载 文件夹:

fdupes -d ~/Downloads

Fdupes 现在将为您提供该目录中所有重复文件的列表,并为您提供保留要保留在计算机上的文件的选项。

例如,如果您想保留 set 1 中的第一个文件,您可以输入 1 在输出 fdupes 搜索并点击后 Enter.

此外,如果需要,您还可以将多个文件实例保存在一组返回的重复文件中。 为此,您需要在逗号分隔的列表中输入与重复文件对应的数字,然后按 Enter.

为了 example,如果要保存文件1、3、5,需要输入:

1,3,5

如果您想在每组重复文件中保留文件的第一个实例并希望忽略提示,您可以通过包含 -N 开关,如以下命令所示:

fdupes -d -N path/to/directory

为了 example:

fdupes -d -N ~/Documents

在 Linux 中成功删除重复文件

组织文件本身就是一项乏味的任务。 再加上重复文件造成的麻烦,您会看到几个小时的时间和精力浪费在组织杂乱无章的存储上。

但是多亏了 fdupes 之类的实用程序,识别重复文件并删除它们变得更加容易和高效。 上面的指南应该可以帮助您在 Linux 机器上进行这些操作。

就像重复文件一样,文件中的重复单词和重复行也可能令人沮丧,并且需要删除高级工具。 如果您也遇到此类问题,则可以使用 独特的 从文本文件中删除重复的行。