linux命令:find与rm实现查找并删除目录或文件
linux中find与rm实现查找并删除目录或文件
linux 下用find命令查找文件,rm命令删除文件。
删除指定目录下指定文件
find 要查找的目录名 -name .svn |xargs rm -rf
删除指定名称的文件或文件夹: find -type d | grep .svn$ | xargs rm -r
分析:
find -type d | grep .svn$ 通过此命令查找文件夹 过滤正则表达式中的目录
| xargs rm -r 执行删除指令
删除目录下所有exe文件
find . -name '*.exe' -type f -print -exec rm -rf {} ;
(1) "." 表示从当前目录开始递归查找
(2) “ -name '*.exe' "根据名称来查找,要查找所有以.exe结尾的文件夹或者文件
(3) " -type f "查找的类型为文件
(4) "-print" 输出查找的文件目录名
(5) 最主要的是是-exec了,-exec选项后边跟着一个所要执行的命令,表示将find出来的文件或目录执行该命令。
exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个,最后是一个分号
linux的一个find命令配合rm删除某天前的文件
语句写法:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
例1: 将/usr/local/backups目录下所有10天前带"."的文件删除
find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \;
find:linux的查找命令,用户查找指定条件的文件
/usr/local/backups:想要进行清理的任意目录
-mtime:标准语句写法
+10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
"*.*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三
-exec:固定写法
rm -rf:强制删除文件,包括目录
{} \; :固定写法,一对大括号+空格+\
find $1 -name "*.html" -mtime +1 -print0 |xargs -0 rm -v