zoukankan      html  css  js  c++  java
  • Linux 快速删除大量小文件方法

    进行以下两步操作即可:

    1、第一步:创建空的文件夹: mkdir  /tmp/blank

    2、第二步:执行以下命令:rsync --delete-before -d /tmp/blank/ /home/stormnode/store/html/new/

    Linux 快速删除大量小文件方法


        当我们在linux系统中要删除数万或者数十万甚至数百万的文件时使用rm -rf *就不太好用,因为要等待很长一段时间。在这种情况之下我们可以使用linux系统命令rsync来巧妙的处理。rsync实际上用的是替换原理,处理数十万个文件也是秒删。
        1. rsync安装,有些系统默认安装有该命令
    ubuntu系统:sudo apt-get install rsync
    fedora 系统:sudo yum install rsync
    其他的可以源码安装,到下面的网站下载
    http://rsync.samba.org

        2. rsync提供了一些跟删除有关的参数

    rsync --help | grep delete
         --del                                an alias for --delete-during
         --delete                          delete extraneous files from destination dirs
         --delete-before             receiver deletes before transfer, not during
         --delete-during             receiver deletes during transfer (default)
         --delete-delay               find deletions during, delete after
         --delete-after                receiver deletes after transfer, not during
         --delete-excluded        also delete excluded files from destination dirs
         --ignore-errors             delete even if there are I/O errors
         --max-delete=NUM    don't delete more than NUM files
    其中--delete-before接收者在传输之前进行删除操作
     

        3. 示例

    清空目录或文件,如下: 
    1、先建立一个空目录 
    mkdir /data/blank 
    2、用rsync删除目标目录 
    rsync --delete-before -d -a -H -v --progress --stats /data/blank/ /var/edatacache/
    或者
    rsync --delete-before -d /data/blank/ /var/edatacache/

    这样/var/edatacache目录就被快速的清空了。
     
    选项说明:
    –delete-before 接收者在传输之前进行删除操作
    –progress          在传输时显示传输过程
    -a                       归档模式,表示以递归方式传输文件,并保持所有文件属性
    -H                      保持硬连接的文件
    -v                       详细输出模式
    –stats                给出某些文件的传输状态
    -d                      transfer directories without recursing
     
    3、也可以用来删除大文件
    假如我们在/root/下有一个几十G甚至上百G的文件data,现在我们要删除它
    一、创建一个空文件
        touch /root/empty
    二、用rsync清空/root/data文件
        rsync --delete-before -d --progess --stats /root/empty /root/data
     
     
    注意:
    当SRC和DEST文件性质不一致时将会报错 
    当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件 
    当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录
  • 相关阅读:
    eclipse中文乱码问题解决方案
    修改Tomcat的JDK目录
    Tomcat 5.5 修改服务器的侦听端口
    HTML DOM教程 27HTML DOM Button 对象
    HTML DOM教程 24HTML DOM Frameset 对象
    Navicat for MySQL v8.0.27 的注册码
    HTML DOM教程 25HTML DOM IFrame 对象
    Tomcat 5.5 的下载和安装
    android manifest相关属性
    ubuntu10.04 下 eclipse 小结
  • 原文地址:https://www.cnblogs.com/shijiaoyun/p/5263034.html
Copyright © 2011-2022 走看看