Linux 递归批量删除文件夹或文件的命令
笔者有一次Linux服务器上的网站被别人在每一个文件夹下恶意注入了目录和文件,由于项目的目录太多,手动删除费时费力,最后用Linux的命令批量删除了注入内容。相关命令介绍如下:
递归批量删除文件夹:
命令: find . -name svn -type d -print -exec rm -rf {} \;
说明:
(1)‘.’意思是从当前目录开始递归查找;
(2) '-name svn' -name 指令是申明根据名称查找,本例中是查找所有以 svn 命名的文件夹;
(3)‘-type d’ -type 指明查找的类型,本例中 指明查找的类型为目录d;
(4) '-print' 输出查找到的目录名;
(5) '-exec' 是最主要的,后面跟对find到的目录所要执行的命令,本例中的命令是递归删除的命令 rm -rf ,然后是一对{},一个空格,一个\,最后是一个; 号。
递归批量删除指定目录下的文件:
命令:find /tmp/upload -name *.exe -type f -print -exec rm -rf {} \;
说明:
(1) ‘/tmp/upload’,指明在哪个目录下查找;
(2) ‘-name *.exe -type f’,删除以 .exe 结尾的所有的文件,本例中 f 指明查找的类型是文件。
每一次的结束都意味着新的开始