find和locate

locate:
		依赖事先构建好的索引库
			系统自动实现(周期性任务)
			手动更新数据库	
		工作特性:
			模糊查找
			非实时查找
			查找速度快
		locate [OPTION] PATTERN
			-b: 只匹配路径中的基名
			-c: 统计处共有多少个符合条件的文件
			-r:正则表达式

find:
		实时查找工具,遍历指定路径下文件系统层级结构完成文件查找
		工作特性:
			速度慢
			精确查找
			实时查找
		find [OPTION] [查找路径] [查找条件] [处理动作]
		根据文件名查找:
			-name "pattern"
			-iname "pattern" 
				通配符模式
		根据属主属组查找:
			-user
			-group
			-uid
			-gid
			-nouser
			-nogroup
		根据文件类型查找:
			-type TYPE:
				f: 普通文件
				d: 目录
				l: 软连接文件
				b: 块设备文件
				c: 字符设备文件
				p: 管道文件
				s: 套接字文件
		组合:
			-a: 与
			-o: 或
			!,-not: 非
		根据文件大小查找:
			-size [+|-]#单位(k,M,G)
			#单位:(#-1,#]
			-#单位: [0,#-1]
			+#单位:(#,oo)	
		根据时间查找:
			以“天”为单位:
				-atime [+|-]#
					#: [#,#-1)
					-#: (#,0]
					+#: (oo,#-1]
				-mtine
				-ctime
			以“分钟”为单位:
				-amin
				-mmin
				-cmin	
		根据权限查找:
			-perm [/|-]mode
				mode: 精确匹配
				/mode: 任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足	
				-mode: 每一类用户的权限中每一位同时符合条件既满足
	
		处理动作:
			-print: 输出至标准输出,默认
			-ls
			-delete
			-fls /PATH/TO/FILE:把查找到的所有文件的长格式信息保存至指定文件
			-exec COMMAND {} \;
				find ./ -perm /002 -exec mv {} {}.txt \;

		事例:
			查找/etc/目录下所有用户都没有写权限的文件
				find /etc -not -perm /222 -type f -ls
			查找/etc/目录下大于1M且类型为普通文件的所有文件
				find /etc -size +1M -type f -exec ls -lh {} \;
			查找当前系统上没有属主或属组,且最近一周内曾被访问过的文件或目录
				find / \(-nouser -o -nogroup\) -atime -7 -ls
			查找/etc/目录下最近一周内其内容修改过,且属主不是root用户也不是hadoop用户的文件或目录
				find /etc -mtime -7 -a -not -user root -a -not -user hadoop -ls
				find /etc -mtime -7 -a -not \(-user root -o -user hadoop\) -ls
			查找/etc目录下至少有一类用户没有执行权限的文件
				find /etc -not -perm -111 -type f -ls
			查找/etc目录下所有用户都有执行权限,且其他用户有写权限的所有文件
				find /etc -perm -113 -type f -ls
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值