연습|Linux에서 중복 파일 찾기 및 삭제

당신의 작은 손으로 돈을 버세요, 엄지척!

다운로드 관리자를 사용하여 인터넷에서 모든 종류의 콘텐츠를 다운로드하는 데 익숙하다면 홈 디렉토리 또는 시스템을 구성하는 것이 특히 어려울 수 있습니다.

대부분의 경우 동일한 mp3, pdf 및 epub(및 기타 다양한 파일 확장자)를 다운로드하여 다른 디렉토리에 복사할 수 있습니다. 이로 인해 모든 종류의 쓸모없는 중복 콘텐츠로 디렉토리가 채워질 수 있습니다.

이 자습서에서는 rdfind, fdupes 및 rmlint 명령줄 도구와 DupeGuru 및 FSlint라는 GUI 도구를 사용하여 Linux에서 중복 파일을 찾고 제거하는 방법을 배웁니다.

참고 - 불필요한 데이터 손실이 발생할 수 있으므로 시스템에서 무엇을 삭제하는지 항상 주의하십시오. 새 도구를 사용하는 경우 파일을 삭제하는 데 문제가 없어야 하는 테스트 디렉토리에서 먼저 시도하십시오.

Rdfind - Linux에서 중복 파일 찾기

Redundant Data Find의 Rdfind는 여러 디렉터리에서 또는 여러 디렉터리 내에서 중복 파일을 찾기 위한 무료 명령줄 도구입니다. 디렉토리를 재귀적으로 스캔하고 동일한 내용의 파일을 식별하여 중복 제거 또는 이동과 같은 적절한 조치를 취할 수 있습니다.

Rdfind는 알고리즘을 사용하여 파일을 분류하고 어떤 복제본이 원본 파일인지 감지하고 나머지는 복제본으로 처리합니다.

순위 규칙은 다음과 같습니다.

  • 입력 매개변수를 스캔할 때 A가 B보다 이른 것으로 밝혀지면 A가 더 높은 순위를 가집니다.
  • A의 검색 깊이가 B보다 낮으면 A의 순위가 더 높습니다.
  • A가 B보다 먼저 발견되면 A의 순위가 더 높습니다.

마지막 규칙은 특히 같은 디렉토리에 두 개의 파일이 있을 때 적용됩니다.

설치하다

Linux에 rdfind를 설치하려면 Linux 배포판에 따라 다음 명령을 사용하십시오.

$ sudo apt install rdfind         [On Debian, Ubuntu and Mint]
$ sudo yum install rdfind         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/rdfind  [On Gentoo Linux]
$ sudo apk add rdfind             [On Alpine Linux]
$ sudo pacman -S rdfind           [On Arch Linux]
$ sudo zypper install rdfind      [On OpenSUSE]    

디렉토리에서 rdfind를 실행하려면 rdfind와 대상 디렉토리를 입력하십시오.

$ rdfind /home/user
alt

보시다시피 rdfind는 프로그램이 실행된 동일한 디렉토리에 results.txt라는 파일에 결과를 저장합니다. 이 파일에는 rdfind에서 찾은 모든 중복 파일이 포함되어 있습니다. 이 파일을 검토하고 원하는 경우 중복 항목을 수동으로 삭제할 수 있습니다.

您可以做的另一件事是使用 -dryrun 选项,该选项将提供重复项列表,而无需执行任何操作:

$ rdfind -dryrun true /home/user

当您找到重复项时,您可以选择用硬链接替换它们。

$ rdfind -makehardlinks true /home/user

如果您想删除重复项,您可以运行。

$ rdfind -deleteduplicates true /home/user

要检查 rdfind 的其他有用选项,您可以使用 rdfind 手册。

$ man rdfind 

Fdupes – 扫描 Linux 中的重复文件

Fdupes 是另一个命令行程序,可让您识别系统上的重复文件。它递归地搜索目录,比较文件大小和内容以识别重复项。

它使用以下方法来确定重复文件:

  • 比较部分 md5sum 签名
  • 比较完整的 md5sum 签名
  • 逐字节比较验证

就像 rdfind 一样,它有类似的选项:

  • 递归搜索
  • 排除空文件
  • 显示重复文件的大小
  • 立即删除重复项
  • 排除具有不同所有者的文件

Install

要在 Linux 中安装 fdupes,请根据您的 Linux 发行版使用以下命令。

$ sudo apt install fdupes         [On Debian, Ubuntu and Mint]
$ sudo yum install fdupes         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/fdupes  [On Gentoo Linux]
$ sudo apk add fdupes             [On Alpine Linux]
$ sudo pacman -S fdupes           [On Arch Linux]
$ sudo zypper install fdupes      [On OpenSUSE]  

Fdupes 语法与 rdfind 类似。只需键入命令,然后键入您要扫描的目录即可。

$ fdupes <dir>

要递归搜索文件,您必须指定 -r 选项,如下所示。

$ fdupes -r <dir>

您还可以指定多个目录并指定要递归搜索的目录。

$ fdupes <dir1> -r <dir2>

要让 fdupes 计算重复文件的大小,请使用 -S 选项。

$ fdupes -S <dir>

要收集有关找到的文件的汇总信息,请使用 -m 选项。

$ fdupes -m <dir>
alt

最后,如果您想删除所有重复项,请使用 -d 选项,如下所示。

$ fdupes -d <dir>

Fdupes 将询问要删除哪个找到的文件。您需要输入文件编号:

alt

绝对不推荐的解决方案是使用 -N 选项,这将导致仅保留第一个文件。

$ fdupes -dN <dir>

要获取与 fdupes 一起使用的可用选项列表,请通过运行查看帮助页面。

$ fdupes -help

Rmlint – 删除重复文件

Rmlint 是一个命令行工具,用于在 Linux 系统中查找和删除重复的和类似 lint 的文件。它有助于识别具有相同内容的文件,以及各种形式的冗余或 lint,例如空文件、损坏的符号链接和孤立文件。

Install

要在 Linux 中安装 Rmlint,请根据您的 Linux 发行版使用以下命令。

$ sudo apt install rmlint         [On Debian, Ubuntu and Mint]
$ sudo yum install rmlint         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/rmlint  [On Gentoo Linux]
$ sudo apk add rmlint             [On Alpine Linux]
$ sudo pacman -S rmlint           [On Arch Linux]
$ sudo zypper install rmlint      [On OpenSUSE]    
alt

dupeGuru – 在 Linux 中查找重复文件

dupeGuru 是一个开源、跨平台的工具,可用于查找 Linux 系统中的重复文件。该工具可以扫描一个或多个文件夹中的文件名或内容。它还允许您找到与您正在搜索的文件相似的文件名。

dupeGuru 有适用于 Windows、Mac 和 Linux 平台的不同版本。其快速模糊匹配算法功能可帮助您在一分钟内找到重复文件。它是可定制的,您可以提取所需的精确重复文件,并从系统中擦除不需要的文件。

Install

要在 Linux 中安装 dupeGuru,请根据您的 Linux 发行版使用以下命令。

$ sudo apt install dupeguru         [On Debian, Ubuntu and Mint]
$ sudo yum install dupeguru         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/dupeguru  [On Gentoo Linux]
$ sudo apk add dupeguru             [On Alpine Linux]
$ sudo pacman -S dupeguru           [On Arch Linux]
$ sudo zypper install dupeguru      [On OpenSUSE]    
alt

FSlint – 适用于 Linux 的重复文件查找器

FSlint 是一个免费实用程序,用于查找和清理文件系统上各种形式的 lint。它还报告重复文件、空目录、临时文件、重复/冲突(二进制)名称、错误的符号链接等等。它具有命令行和 GUI 模式。

然而,值得注意的是,截至 2022 年 9 月我所知,FSlint 的最后一次更新是在 2013 年,可能不会得到积极维护或与较新的 Linux 发行版兼容。

Install

要在 Linux 中安装 FSlint,请根据您的 Linux 发行版使用以下命令。

$ sudo apt install fslint         [On Debian, Ubuntu and Mint]
$ sudo yum install fslint         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/fslint  [On Gentoo Linux]
$ sudo apk add fslint             [On Alpine Linux]
$ sudo pacman -S fslint           [On Arch Linux]
$ sudo zypper install fslint      [On OpenSUSE] 
alt

总结

这些是在 Linux 系统上查找重复文件的非常有用的工具,但删除此类文件时应该非常小心。

如果您不确定是否需要某个文件,最好在删除该文件之前创建该文件的备份并记住其目录。如果您有任何问题或意见,请在下面的评论部分提交。

本文由 mdnice 多平台发布

추천

출처blog.csdn.net/swindler_ice/article/details/132228750