Linux命令删除相同文件

fiy 其他 365

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    删除相同文件在Linux中可以使用以下命令来完成:

    1. `find`命令配合`-exec`选项:

    “`
    find /path/to/directory -type f -exec md5sum {} + | sort | uniq -d -w 32 | cut -d ‘ ‘ -f 3- | xargs -d ‘\n’ rm -f
    “`

    解释:这个命令会在指定的目录下,递归查找所有文件,并计算它们的MD5哈希值。然后使用`sort`命令对结果进行排序,再使用`uniq`命令找出重复的文件,并使用`cut`命令提取文件路径。最后,`xargs`命令将文件路径作为参数传递给`rm`命令进行删除。

    2. `fdupes`命令:

    “`
    fdupes -r /path/to/directory -dN
    “`

    解释:这个命令会在指定的目录下,递归查找所有重复的文件,并将它们删除。其中,`-r`选项表示递归查找,`-d`选项表示删除重复文件,`-N`选项表示保留第一个文件,其余重复文件删除。

    3. `rdfind`命令:

    “`
    rdfind -deleteduplicates true /path/to/directory
    “`

    解释:这个命令会在指定的目录下,递归查找所有重复的文件,并将它们删除。其中,`-deleteduplicates`选项表示删除重复文件,`/path/to/directory`表示要查找的目录。

    以上是几个常用的Linux命令来删除相同文件的方法,根据实际情况选择合适的命令进行操作。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux系统中,可以使用以下命令来删除相同的文件:

    1. `fdupes`命令:
    – 首先,你需要安装fdupes工具。在大多数Linux发行版中,可以使用以下命令来安装:`sudo apt-get install fdupes`(Debian/Ubuntu)或者`sudo yum install fdupes`(CentOS/RHEL)。
    – 使用`fdupes`命令搜索并列出系统中重复的文件:`fdupes -r /path/to/directory`。将`/path/to/directory`替换为你要搜索的目录的路径。
    – 将重复文件删除:`fdupes -dN /path/to/directory`。这将保留一个副本,并将其他副本删除。使用`-N`选项可以使该操作无需用户确认。
    2. `find`和`rm`命令的组合:
    – 使用`find`命令查找重复的文件:`find /path/to/directory -type f -exec md5sum {} \; | sort | uniq -d –check-chars=32 > duplicates.txt`。这将在指定的目录中递归搜索文件,并根据MD5散列值找到重复的文件,并将结果输出到名为`duplicates.txt`的文本文件中。
    – 打开`duplicates.txt`文件,并确认要删除的文件。
    – 使用`rm`命令逐个删除重复文件:`xargs rm < duplicates.txt`。3. `rmlint`工具: - 首先,你需要安装rmlint工具。在大多数Linux发行版中,可以使用以下命令来安装:`sudo apt-get install rmlint`(Debian/Ubuntu)或者`sudo yum install rmlint`(CentOS/RHEL)。 - 使用`rmlint`命令查找并删除相同的文件:`rmlint --keep-one /path/to/directory`。这将在指定的目录中查找并删除重复的文件。4. `fslint`工具: - 首先,你需要安装fslint工具。在大多数Linux发行版中,可以使用以下命令来安装:`sudo apt-get install fslint`(Debian/Ubuntu)或者`sudo yum install fslint`(CentOS/RHEL)。 - 使用`fslint-gui`命令打开fslint图形界面,或者使用`findup`命令查找并删除相同的文件:`findup /path/to/directory`。5. `dupseek`工具: - 首先,你需要安装dupseek工具。在大多数Linux发行版中,可以使用以下命令来安装:`sudo apt-get install dupseek`(Debian/Ubuntu)。 - 使用`dupseek`命令查找并删除相同的文件:`dupseek /path/to/directory`。请注意,无论你使用哪种方法,删除重复文件时都需要小心。在删除文件之前,请先确认这些文件确实是重复的,以免不小心删除了有价值的文件。建议在进行任何删除操作之前备份重要的文件。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux系统中,可以使用多种命令来删除相同文件。下面我会给出三种常用的方法,包括使用md5sum+awk命令、使用fdupes命令以及使用find命令。请根据需要选择合适的方法。

    ## 使用md5sum+awk命令

    步骤如下:

    1. 打开终端,并进入包含要删除相同文件的目录。

    2. 使用md5sum命令生成文件的MD5哈希值。例如:

    “`bash
    md5sum * > checksums.txt
    “`

    这会将目录中所有文件的MD5哈希值输出到checksums.txt文件中。

    3. 使用awk命令过滤出重复的MD5哈希值,并保存到duplicates.txt文件中。例如:

    “`bash
    awk ‘{ if (a[$1]++) print $2 }’ checksums.txt > duplicates.txt
    “`

    这会将重复的文件名保存到duplicates.txt文件中。

    4. 查看duplicates.txt文件,确认需要删除的文件。

    5. 使用rm命令删除重复的文件。例如:

    “`bash
    xargs rm < duplicates.txt ``` 这会删除duplicates.txt文件中列出的所有文件。## 使用fdupes命令fdupes是一个非常有用的命令行工具,可以用来查找和删除重复文件。1. 打开终端,并进入包含要删除相同文件的目录。2. 安装fdupes,如果已经安装可以跳过此步骤。 ```bash sudo apt-get install fdupes ```3. 运行fdupes命令来查找重复文件并输出结果。例如: ```bash fdupes -r . ``` 这会递归搜索当前目录下的所有文件,并列出重复文件组。4. 查看输出结果,确认需要删除的文件。5. 使用fdupes命令删除重复文件。例如: ```bash fdupes -dN . ``` 这会将重复文件中的一个文件保留,删除其他的重复文件。## 使用find命令find命令可以用来查找并删除重复的文件。1. 打开终端,并进入包含要删除相同文件的目录。2. 运行find命令来查找重复文件。例如: ```bash find . -type f -exec md5sum {} + | sort | uniq -d --check-chars=32 | cut -c 34- ``` 这会列出重复的文件。3. 查看输出结果,确认需要删除的文件。4. 使用find命令删除重复文件。例如: ```bash find . -type f -exec md5sum {} + | sort | uniq -d --check-chars=32 | cut -c 34- | xargs rm ``` 这会删除重复的文件。以上就是在Linux系统中删除相同文件的三种方法,根据实际情况选择合适的方法来进行操作。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部