📜  如何在 Linux 上查找和删除重复文件?

📅  最后修改于: 2021-10-28 02:55:36             🧑  作者: Mango

我们大多数人都有从 Internet 下载多种类型的东西(歌曲、文件等)的习惯,这就是为什么我们可能经常发现我们下载了相同的 mp3 文件、PDF 文件和其他扩展名。重复文件不必要地浪费了您的磁盘空间,如果您想将相同的文件放在不同的位置,您可以随时设置一个软链接或硬链接,这样不会不必要地占用空间并将数据仅存储在磁盘上的一个位置.这最终会不必要地占用您的系统空间,手动定位此重复文件是一项艰巨的工作。因此,Linux 中有一些很好的工具,可以通过扫描系统来定位和删除重复文件以释放系统空间,无论您是在台式机还是服务器上使用 Linux。

注意:每当您尝试使用新工具时,请务必先在测试目录中尝试,在该目录中删除文件不会有问题

方法一:使用FSlint

FSlint 是一个工具,可以帮助我们彻底搜索和删除不必要的重复文件、空目录、临时文件或名称不正确的文件,并释放 Linux 系统上的磁盘空间。 FSlint 默认提供了一个方便的 GUI,但它也有各种功能的 CLI 模式,这对于 Linux 的新用户来说非常方便。

使用以下命令在 Linux 中安装 fslint:

sudo apt-get install fslint

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

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

Fslint 接口

当 FSlint 界面打开时,您会发现默认情况下,FSlint 界面打开时选择了 Duplicates 面板,并将您的主目录设置为默认搜索路径,您会发现其他几个数字选项可供选择,例如:已安装的软件包、错误名称、名称冲突、临时文件、空目录、错误 ID 等。

使用步骤:

步骤 1:首先从左侧面板中选择要执行的任务,就像我选择重复面板选项一样,您也可以选择其他面板。

步骤 2:选择要执行任务的搜索路径

第 3 步:单击“查找”选项以找到文件。

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

由于权限问题,某些目录可能无法显示/删除

获得重复文件后(根据您选择的选项),您可以选择并删除它们。有一个高级搜索参数,您可以在其中定义规则以排除您不想包含在搜索中的某些文件类型或目录。

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

高级搜索参数

方法二:使用Fdupe

Fdupe 是另一个位于指定目录中的重复文件删除工具,例如 fslint,但与 fslint 不同的是,Fdupe 是一个命令行界面工具。它是一个用 C 编写的免费开源工具。 Fdupe 使用多种搜索模式,它们是:

  • 按尺寸
  • 比较全部或部分 MD5 签名并比较每一口。
  • 逐字节比较

使用以下命令在 Linux 中安装 fdupe:

sudo apt install fdupes

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

安装后,只需运行 fdupes 命令,后跟要扫描的目录的路径。

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

显示重复文件

此工具不会自动删除任何内容,它只会向您显示所有重复文件的列表。然后,您可以根据自己的选择删除重复的文件。

重复文件的大小由 -S 选项计算:

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

最后,如果要删除所有重复项,可以使用 -d 选项,如给定的屏幕截图:

fdupes -d /path/to/directory

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

在上面的屏幕截图中,我们可以看到 -d 命令显示文件夹中的所有重复文件,并为您提供选择要保留的文件的选项(保留文件选项),通过为您提供删除文件的选项按一个或选择一个范围将其删除或一次全部删除。即使您想在不询问的情况下删除所有文件并保留第一个文件,也可以使用 -N 选项。

有关更多选项,请通过键入 fdupes -h 来查看 fdupes 的帮助选项:

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

fdupes 帮助