• linux 用 rsync 快速删除大量小文件


    假设我们在目录 /tmp/to_delete 下有很多小文件

    a1  a2  a3  f1  f2  f3
    

    现在我们想快速的删除f 开头的文件。 如果文件量大,用rm 可能会失败,而且会很慢, 所以用rsync。 步骤如下:

    创建一个空目录

    mkdir /tmp/some
    

    输入命令

    rsync --delete-before -d --include="f*"  --exclude="*"  /tmp/some/ /tmp/to_delete/
    

    通过以上步骤,可以快速的删除/tmp/to_delete下f开头的文件。 rsync 本身是同步不同目录的软件。

    --include 和 --exclude 是用通配符来过滤需要操作的文件,顺序必须如上

    如果你要过滤的文件名称太复杂,没办法用通配符表示,可以把要删除的文件名列出来,放入一个文件。 如下:

    把要删除的文件名,存入文件 i.txt

    [root@ES01 to_delete]# cat i.txt
    f1
    f2
    f3
    

    把要排除的文件名,存入文件e.txt

    [root@ES01 to_delete]# cat e.txt
    *
    

    然后用命令

        rsync --delete-before -d --include-from=./i.txt  --exclude-from=./e.txt  /tmp/some/ /tmp/to_delete/
  • 相关阅读:
    [设计模式]门面模式
    [设计模式]装饰者模式
    IE8半透明不显示出文字
    解决IE6,IE7不能隐藏绝对定位溢出的内容
    [设计模式]适配器模式
    linux学习网站
    PPP协议解析
    c语言面试题__指针篇
    单链表反转
    16道C语言面试题
  • 原文地址:https://www.cnblogs.com/kramer/p/5461955.html
Copyright © 2020-2023  润新知