SHELL编程四剑客之Find工具

功能: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/ \;
发布了162 篇原创文章 · 获赞 142 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44571270/article/details/104071834