有个文件夹有大量文件(四百多万个)需要删除,用rm是不行的,会提示 Argument list too long ,就需要一个快速删除方法。
这里采用rsync把一个空文件夹同步到要删除的文件夹实现。
需要清空的目标文件夹名:creditReport
# 创建一个空文件夹
[root@sych userfiles]# mkdir empty
# 写入要保留的文件名,一行一个。建议先备份一下要保留的文件。
[root@sych userfiles]# touch list.txt
# 执行
[root@sych userfiles]# rsync --delete-before -d --exclude-from=list.txt empty/ creditReport/
# 参数解释
--delete-before # receiver deletes before transfer, not during 传输之前先删除文件,就是利用这个参数实现。 -d # transfer directories without recursing 不递归传输目录 --exclude-from=FILE # read exclude patterns from FILE 从指定文件中读取要排除的文件,也就是要保留的文件
这四百多万个文件删除大约用时43分钟
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/4316.html