Linux中如何删除重复文件

在Linux中删除重复文件可以通过多种方法实现,以下是几种常用的方法:方法一:使用fdupes工具安装fdupes:sudo apt-get install fdupes # Debian/Ubuntusudo yum install fdupes # CentOS/RHELsudo dnf install fdupes # Fedora查找并删除重复文件:查找当前目

在Linux中删除重复文件可以通过多种方法实现,以下是几种常用的方法:

方法一:使用fdupes工具

  1. 安装fdupes

    sudo apt-get install fdupes  # Debian/Ubuntu
    sudo yum install fdupes      # CentOS/RHEL
    sudo dnf install fdupes      # Fedora
    
  2. 查找并删除重复文件

    • 查找当前目录及其子目录中的重复文件:
      fdupes -r /path/to/search
      
    • 删除重复文件(保留一个副本):
      fdupes -rdN /path/to/search
      

      其中,-r表示递归搜索,-d表示显示重复文件的路径,-N表示删除重复文件。

方法二:使用findmd5sum脚本

  1. 创建一个脚本来查找和删除重复文件

    #!/bin/bash
    
    if [ $# -eq 0 ]; then
        echo "Usage: $0 <directory>"
        exit 1
    fi
    
    DIRECTORY=$1
    TEMP_FILE=$(mktemp)
    
    find "$DIRECTORY" -type f -print0 | sort -z | md5sum | awk '/^..../ {print $2}' | cut -d'/' -f1-3 > "$TEMP_FILE"
    
    while read -r line; do
        if [ $(grep -c "^$line$" "$TEMP_FILE") -gt 1 ]; then
            echo "Duplicate files found for: $line"
            find "$DIRECTORY" -type f -name "$line" | tee /tmp/duplicates.txt
            read -p "Do you want to delete these files? (y/n): " response
            if [ "$response" == "y" ]; then
                find "$DIRECTORY" -type f -name "$line" -delete
                echo "Deleted duplicate files."
            else
                echo "No files were deleted."
            fi
        fi
    done < "$TEMP_FILE"
    
    rm "$TEMP_FILE"
    
  2. 运行脚本

    chmod +x delete_duplicates.sh
    ./delete_duplicates.sh /path/to/search
    

方法三:使用dedupe-cli工具

  1. 安装dedupe-cli

    pip install dedupe-cli
    
  2. 运行dedupe-cli进行去重

    dedupe-cli -i /path/to/search -o /path/to/output -m 0.9
    

    其中,-i指定输入目录,-o指定输出目录,-m指定相似度阈值(0到1之间)。

注意事项

  • 在删除文件之前,请确保备份重要数据。
  • 使用fdupesdedupe-cli时,可以通过调整参数来控制去重的精度和行为。
  • 自定义脚本时,请仔细测试以确保不会误删文件。

通过以上方法,你可以有效地在Linux系统中查找并删除重复文件。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1362316.html

(0)
派派
上一篇 2025-07-06
下一篇 2025-07-06

发表回复

登录后才能评论