Linux 删除大量文件指令rsync的用法

使用rm删除,当系统运行时间过久后,删除大批量的文件时,有如下提示:
-bash: /bin/rm: Argument list too long

此时,rsync命令可以很好的进行这种操作。使用方法也很简单。

假设我们要删除一个目录下有几十万文件的文件夹/home/file/

首先要创建一个临时空文件夹/home/temp/

然后通过该指令用空文件夹覆盖掉目标文件夹

1
2
3
4
# 删除时会输出详细信息
rsync --delete-before -a -H -v /home/temp/ /home/file/
# 直接删除,不会有任何输出
rsync --delete-before -d /home/temp/ /home/file/  

需要注意的是上面两个命令行中的两个文件中的空格和命令中的所有的/都是必不可少的。

统计当前目录下文件的个数(包括子目录)
ls -lR| grep "^-" | wc -l