zhcn 技术 手机 如何在 Linux 上查找并删除重复文件

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

您的 Linux 计算机上的空间不足,但不知道是什么耗尽了您宝贵的存储空间?重复文件可能是您面临存储空间不足问题的主要原因。在本文中,我们将向您介绍一个在 Linux 上查找和删除重复文件的好工具,这样您就不必再担心了。这些有助于优化存储并提高系统性能。

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

Linux 上删除重复文件的命令行工具

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

1.使用fdupes命令

fdupes 命令用 C 语言编写,是一个免费的开源命令行工具,用于查找和删除 Linux 文件系统上的重复文件。 fdupes 允许您根据各种参数(例如文件名、MD5 哈希值和文件大小)搜索重复项。要在 Linux 系统上安装 fdupes,请根据您的 Linux 发行版使用以下命令:

  • 对于基于 Debian 的系统:
 sudo apt-get install fdupes
  • 对于基于 RHEL/Cent-OS 的系统:
 sudo yum install epel-release
sudo yum install fdupes
  • 对于基于 Arch 的系统:
 sudo pacman -S fdupes

现在您已经在系统上安装了 fdupe,让我们继续了解它的语法和选项。

 fdupes <options> <path_to_search_in>

与 fdupes 命令结合使用的一些常见选项包括:

选项解释
-r遍历父目录中存在的所有子目录。
-s跟踪由符号链接链接的目录
-一个不考虑隐藏文件
-m总结重复文件的比较
-d删除所有其他文件时询问用户要保存的文件

如果要查找并删除 ~/Documents/test/testing 目录中的重复文件,请使用以下命令:

 fdupes -rd ~/Documents/test/testing

然后系统会要求您输入要保存的设置编号。输入您不想删除的设置编号。除这些之外的文件将被删除。已保存的文件由前导“[+]”符号指示,“[-]”符号指示一组已删除的文件。

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

2.使用Rdfind命令

rdfind 命令代表“冗余数据查找”,是一个免费的开源命令行工具,用于删除 Linux 上的重复文件。它在读取磁盘和比较文件之前使用“排名算法”根据索引节点对文件进行排序,使其比其他工具快得多。使用以下命令根据您的发行版安装 rdfind:

  • 对于基于 Debian 的 Linux 系统:
 sudo apt install rdfind
  • 对于基于 Fedora 的 Linux 系统:
 sudo dnf install rdfind
  • 对于基于 Arch 的 Linux 系统:
 sudo pacman -S rdfind

使用 rdfind 的语法非常简单。

 rdfind <options> <directory_or_file_1> <directory_or_file_2>

与 rdfind 命令结合使用的常见选项包括:

选项解释
-忽略搜索重复文件时忽略空文件
-makesymlinks/-makehardlinks用符号/硬链接替换每个重复的文件
-删除了重复项删除重复文件
-删除标识节点删除具有相同 inode 和设备 ID 的项目

让我们看看如何在 Linux 上使用 rdfind 命令查找和删除重复文件。如果要查找 ~/Documents/test/testing 目录中的所有重复文件,请使用以下命令:

 rdfind ~/Documents/test/testing

当您运行该命令时,它会开始扫描重复文件并将详细信息保存在 Linux 计算机上自动生成的名为“results.txt”的文件中。

您可以使用 cat 命令在 Linux 上查看 results.txt 文件的内容:

要删除 rdfind 命令找到的重复项,只需添加 -deleteduplicates 标志,如下所示:

 rdfind -deleteduplicates true ~/Documents/test/

如果您想用硬链接替换重复文件,请使用以下命令:

 rdfind -makehardlinks true ~/Documents/test/ 
如何在 Linux 上查找并删除重复文件
如何在 Linux 上查找并删除重复文件

用于在 Linux 上查找和删除重复文件的 GUI 工具

图形用户界面 (GUI) 工具提供了一种非常易于使用且用户友好的方法来管理 Linux 上的重复文件。只需点击几下,您就可以找到并删除 Linux 文件系统上的重复文件,从而释放内存并加快系统速度。

FSlint 既是一个 GUI 又是一个基于命令行的工具,适合初学者和高级用户。只需点击几下即可识别并删除重复项,从而释放系统上宝贵的存储空间。要在 Linux 发行版上安装 FSlint,请按照以下步骤操作:

步骤1 :安装snap包管理器

  • 对于基于 Debian 的系统:
 sudo apt update && sudo apt install snapd
  • 对于基于 Cent OS 或 RHEL 的系统:
 sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
  • 对于基于 Arch 的系统:
 sudo pacman -S snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

步骤 2 :使用 Snap 安装 FSlint Janitor

 sudo snap install fslint-unofficial

要使用 FSlint 查找并删除重复项,请执行以下步骤:

  • 从应用程序菜单启动 FSlint Janitor。
  • 单击左上角的+添加按钮。
  • 然后选择需要去重的目录,点击右下角的“确定”按钮。
  • 从左侧窗格中选择“重复”选项,然后单击“搜索”按钮。
  • 中心窗格显示重复文件及其占用的内存。按住键盘上的“CTRL”按钮并单击要删除的文件名来选择文件。完成后,单击删除按钮。
  • 在确认弹出窗口中选择“是”以删除重复文件。

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

您的 Linux 计算机上的空间不足,但不知道是什么耗尽了您宝贵的存储空间?重复文件可能是您面临存储空间不足问题的主要原因。在本文中,我们将向您介绍一个在 Linux 上查找和删除重复文件的好工具,这样您就不必再担心了。这些有助于优化存储并提高系统性能。

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

Linux 上删除重复文件的命令行工具

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

1.使用fdupes命令

fdupes 命令用 C 语言编写,是一个免费的开源命令行工具,用于查找和删除 Linux 文件系统上的重复文件。 fdupes 允许您根据各种参数(例如文件名、MD5 哈希值和文件大小)搜索重复项。要在 Linux 系统上安装 fdupes,请根据您的 Linux 发行版使用以下命令:

  • 对于基于 Debian 的系统:
 sudo apt-get install fdupes
  • 对于基于 RHEL/Cent-OS 的系统:
 sudo yum install epel-release
sudo yum install fdupes
  • 对于基于 Arch 的系统:
 sudo pacman -S fdupes

现在您已经在系统上安装了 fdupe,让我们继续了解它的语法和选项。

 fdupes <options> <path_to_search_in>

与 fdupes 命令结合使用的一些常见选项包括:

选项解释
-r遍历父目录中存在的所有子目录。
-s跟踪由符号链接链接的目录
-一个不考虑隐藏文件
-m总结重复文件的比较
-d删除所有其他文件时询问用户要保存的文件

如果要查找并删除 ~/Documents/test/testing 目录中的重复文件,请使用以下命令:

 fdupes -rd ~/Documents/test/testing

然后系统会要求您输入要保存的设置编号。输入您不想删除的设置编号。除这些之外的文件将被删除。已保存的文件由前导“[+]”符号指示,“[-]”符号指示一组已删除的文件。

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

2.使用Rdfind命令

rdfind 命令代表“冗余数据查找”,是一个免费的开源命令行工具,用于删除 Linux 上的重复文件。它在读取磁盘和比较文件之前使用“排名算法”根据索引节点对文件进行排序,使其比其他工具快得多。使用以下命令根据您的发行版安装 rdfind:

  • 对于基于 Debian 的 Linux 系统:
 sudo apt install rdfind
  • 对于基于 Fedora 的 Linux 系统:
 sudo dnf install rdfind
  • 对于基于 Arch 的 Linux 系统:
 sudo pacman -S rdfind

使用 rdfind 的语法非常简单。

 rdfind <options> <directory_or_file_1> <directory_or_file_2>

与 rdfind 命令结合使用的常见选项包括:

选项解释
-忽略搜索重复文件时忽略空文件
-makesymlinks/-makehardlinks用符号/硬链接替换每个重复的文件
-删除了重复项删除重复文件
-删除标识节点删除具有相同 inode 和设备 ID 的项目

让我们看看如何在 Linux 上使用 rdfind 命令查找和删除重复文件。如果要查找 ~/Documents/test/testing 目录中的所有重复文件,请使用以下命令:

 rdfind ~/Documents/test/testing

当您运行该命令时,它会开始扫描重复文件并将详细信息保存在 Linux 计算机上自动生成的名为“results.txt”的文件中。

您可以使用 cat 命令在 Linux 上查看 results.txt 文件的内容:

要删除 rdfind 命令找到的重复项,只需添加 -deleteduplicates 标志,如下所示:

 rdfind -deleteduplicates true ~/Documents/test/

如果您想用硬链接替换重复文件,请使用以下命令:

 rdfind -makehardlinks true ~/Documents/test/ 
如何在 Linux 上查找并删除重复文件
如何在 Linux 上查找并删除重复文件

用于在 Linux 上查找和删除重复文件的 GUI 工具

图形用户界面 (GUI) 工具提供了一种非常易于使用且用户友好的方法来管理 Linux 上的重复文件。只需点击几下,您就可以找到并删除 Linux 文件系统上的重复文件,从而释放内存并加快系统速度。

FSlint 既是一个 GUI 又是一个基于命令行的工具,适合初学者和高级用户。只需点击几下即可识别并删除重复项,从而释放系统上宝贵的存储空间。要在 Linux 发行版上安装 FSlint,请按照以下步骤操作:

步骤1 :安装snap包管理器

  • 对于基于 Debian 的系统:
 sudo apt update && sudo apt install snapd
  • 对于基于 Cent OS 或 RHEL 的系统:
 sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
  • 对于基于 Arch 的系统:
 sudo pacman -S snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

步骤 2 :使用 Snap 安装 FSlint Janitor

 sudo snap install fslint-unofficial

要使用 FSlint 查找并删除重复项,请执行以下步骤:

  • 从应用程序菜单启动 FSlint Janitor。
  • 单击左上角的+添加按钮。
  • 然后选择需要去重的目录,点击右下角的“确定”按钮。
  • 从左侧窗格中选择“重复”选项,然后单击“搜索”按钮。
  • 中心窗格显示重复文件及其占用的内存。按住键盘上的“CTRL”按钮并单击要删除的文件名来选择文件。完成后,单击删除按钮。
  • 在确认弹出窗口中选择“是”以删除重复文件。

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