shell编程四剑客之find

shell编程四剑客之find

目录:
option常见参数详解如下

1、find工具-name参数案例
2、find工具-type参数案例
3、find工具-size参数案例
4、find工具参数综合案例

在Shell编程工具中,四剑客工具的使用更加的广泛,Shell编程四剑客包括:find、sed、grep、awk,熟练掌握四剑客会对Shell编程能力极大的提升。

四剑客之Find工具实战,Find工具主要用于操作系统文件、目录的查找

  • 其语法参数格式为:
find	path -option [	-print	]	[-exec	-ok	command	]	{ }	\;

其中opion(选项)常用参数如下:

选项后跟参数
-name		file_name		#查找名为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					#查找目录级别深度。

1、find工具-name参数案例

find /data -name "*.txt"	#查找/data目录下以.txt结尾的文件;
find /data -name "[A-Z]*"	#查找/data目录下以大写字母A-Z开头的文件;
find /data -name "test*"	#查找/data目录以text开头的文件;

2、find工具-tpye参数案例

find /data -type d							#查找/data目录下的文件夹;
find /data ! -type d						#查找/data目录下的非文件夹;
find /data -tpye |							#查找/data下的链接文件;
find  /data/ -type d | xargs chmod 755 -R 	#查目录类型并将权限设置为755;
find  /data/ -type f | xargs chmod 644 -R 	#查文件类型并将权限设置为644;

3、find工具-size参数案例

find /data/ -size +1M		#查文件大小大于1Mb的文件;
find /data/ -size 10M		#查文件大小为10M的文件;
find /data/ -size -1M		#查文件大小小于1Mb的文件;

4、find工具-mtime工具案例

atime,access time  	文件被读取或者执行的时间;
ctime,change time  	文件状态改变时间;
mtime,modify time  	文件内容被修改的时间;

find /data/ -mtime +30 -name "*.log"	#查找30天以前的log文件;
find /data/ -mtime -30 -name "*.txt"	#查找30天以内的log文件;
find /data/ -mtime 30 	-name "*.txt"	#查找第30天的log文件;
find /data/ -mmin  +30	-name "*.log"	#查找30分钟以前修改的log文件;
find /data/ -amin  -30 -name "*.txt"  	#查找30分钟以内被访问的log文件;
find /data/ -cmin  30 	-name "*.txt"	#查找第30分钟改变的log文件。

5、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/ \;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值