大量文件快速删除(亲测好用)
rsync删除文件的原理就是把一个空文件夹同步到有很多文件的文件夹。
rsync实际上用的是替换原理,处理数十万个文件也是秒删。
快速清空data_test下面的文件:
先建立一个空目录
mkdir -p tmp/
用rsync删除目标目录
rsync --delete-before -d tmp/ data_test/
这样data_test/目录就被快速的清空了。
–delete-before 接收者在传输之前进行删除操作 –progress 显示传输过程
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
-H 保持硬连接的文件
-v 详细输出模式 –stats 给出某些文件的传输状态
-d transfer directories without recursing(不递归的传输目录)
使用rsync删除大文件
和删除文件夹的原理一样
创建一个空文件
touch /root/empty.txt
用rsync清空/root/data.txt文件
rsync --delete-before -d --progress --stats /root/empty.txt /root/data.txt
清空test目录下的所有文件:
rsync --delete-before -a -H -v --progress --stats /temp /test
测试:
[root@test03 ml]# rsync --delete-before -a -H -v --progress --stats dir1/ dir3/
building file list ...
1 file to consider
deleting dir2/
deleting dir1/
deleting 11/
deleting file3.txt
deleting file2.txt
deleting file1.txt
./
Number of files: 1 (dir: 1)
Number of created files: 0
Number of deleted files: 6 (reg: 3, dir: 3)
Number of regular files transferred: 0
Total file size: 0 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 43
Total bytes received: 90
sent 43 bytes received 90 bytes 266.00 bytes/sec
total size is 0 speedup is 0.00