功能:Find工具主要用于操作系统文件、目录的查找
其语法参数格式
第一种格式(推荐):
find path -option option参数值 | Xargs Linux命令
Xargs命令用法见:
https://blog.csdn.net/weixin_44571270/article/details/102651805
第二种格式:
find path -option option参数值 -exec Linux命令 \;
/*
注:上面这个命令是对find找到的内容,执行后面的Linux命令的行为。
\; 是-exec行为结束的标志,必须写上。
*/
find命令常用参数详解:
-name filename #查找名为filename的文件;
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件;
-size n[c] #查长度为n块[或n字节]的文件;
-perm #按执行权限来查找;
-user username #按文件属主来查找;
-group groupname #按组来查找;
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前;
-atime -n +n #按文件访问时间来查找文件;
-ctime -n +n #按文件创建时间来查找文件;
-mmin -n +n #按文件更改时间来查找文件,-n指n分钟以内,+n指n分钟以前;
-amin -n +n #按文件访问时间来查找文件;
-cmin -n +n #按文件创建时间来查找文件;
-maxdepth #查找目录级别深度。
find命令综合案例:
#查找/data目录以.log结尾,文件大于10k的文件,同时cp到/tmp目录;
find /data/ -name "*.log" -type f -size +10k -exec cp {} /tmp/ \;
#查找/data目录以.txt结尾,文件大于10k的文件,权限为644并删除该文件;
find /data/ -name "*.log" –type f -size +10k -perm 644 -exec rm –rf {} \;
#查找/data目录以.log结尾,30天以前的文件,大小大于10M并移动到/tmp目录;
find /data/ -name "*.log" –type f -mtime +30 –size +10M -exec mv {} /tmp/ \;