返回

如何在 Linux 中高效查找并删除重复文件

后端

引言:重复文件的危害

在使用 Linux 系统时,随着时间的推移,您的计算机中可能会积累大量重复的文件。这些重复文件可能来自各种来源,例如下载的安装包、媒体文件、软件包的多个版本等。重复文件不仅会占用宝贵的存储空间,而且还会使文件管理变得混乱,降低系统的性能。因此,定期查找并删除重复文件非常重要。

方法一:使用 fdupes 命令

fdupes 命令是一个专门用于查找和删除重复文件的工具。它可以递归地扫描指定目录及其子目录,并查找具有相同内容的文件。要使用 fdupes 命令,请按照以下步骤操作:

  1. 在终端中输入以下命令以安装 fdupes:
sudo apt install fdupes
  1. 导航到要扫描的目录。
  2. 输入以下命令以查找重复文件:
fdupes -r
  1. fdupes 命令将列出所有找到的重复文件组。每个组中的第一个文件是原始文件,其余文件是重复文件。
  2. 要删除重复文件,您可以使用以下命令:
fdupes -dr

方法二:使用 rmlint 命令

rmlint 命令也是一个用于查找和删除重复文件的工具。它与 fdupes 命令类似,但它还具有以下一些优点:

  • 可以查找具有相同内容但不同文件名的文件。
  • 可以查找具有相同内容但不同大小的文件。
  • 可以查找具有相同内容但不同日期的文件。

要使用 rmlint 命令,请按照以下步骤操作:

  1. 在终端中输入以下命令以安装 rmlint:
sudo apt install rmlint
  1. 导航到要扫描的目录。
  2. 输入以下命令以查找重复文件:
rmlint -f
  1. rmlint 命令将列出所有找到的重复文件组。每个组中的第一个文件是原始文件,其余文件是重复文件。
  2. 要删除重复文件,您可以使用以下命令:
rmlint -f -d

方法三:使用 find 和 uniq 命令

find 和 uniq 命令也可以用于查找和删除重复文件。find 命令可以查找指定目录及其子目录中的所有文件,而 uniq 命令可以从这些文件中提取重复的文件。

要使用 find 和 uniq 命令,请按照以下步骤操作:

  1. 在终端中输入以下命令以查找重复文件:
find . -type f -exec md5sum "{}" \; | sort | uniq -w 32
  1. 上述命令将列出所有具有相同内容的文件。
  2. 要删除重复文件,您可以使用以下命令:
find . -type f -exec md5sum "{}" \; | sort | uniq -w 32 | awk '{print $2}' | xargs rm

结语

通过使用 fdupes、rmlint、find 和 uniq 命令,您可以轻松地查找并删除 Linux 系统中的重复文件。这些工具可以帮助您保持文件系统井井有条,释放宝贵的存储空间,并提高系统的性能。