在大批量小文件及目录,如何快速删除释放文件及磁盘空间?

env

  • linux/mac
  • rsync

1.安装rsync

yum install -y rsync

2.建立一个空的文件夹

mkdir /tmp/test

3.rsync删除目标目录log下一切文件

rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/

选项说明:
–delete-before 接收者在传输之前进行删除操作
–progress 在传输时显示传输过程
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
-H 保持硬连接的文件
-v 详细输出模式
–stats 给出某些文件的传输状态

要删除的log目录就会被清空了,删除的速度会非常快,rsync实际上用的是替换原理,处理数十万个文件也是秒删。