Linux下find命令详解
(11)-type:根据文件类型查找 f:普通文件;d:目录;c;字符设备文件;b:块设备文件;l:链接文件;p:管道文件;s:套接字文件 例如:find /tmp –type d :查找tmp下的所有目录文件 (12)-size:按照大小查找(后不跟单位时,默认单位是字节) #k;#M;#G; [+|-]#k:大于#k 小于#k(#代表数字) 例如 find /etc –size 10k (大于9k小于等于10k文件都会被查找出来) find /etc –size -10k(所有小于10k的文件) find /etc –size +10k(所有大于10k文件 (13)组合条件查找 -a :与条件(如果给出了两个条件没有给连接方式时时默认的就是与逻辑) 例如:find /tmp –nouser –a type d 查找/tmp下没有属主并且不是目录的文件 -o :或条件 -not:非条件 not权限最高 带括号的时候,括号要用反义;与的优先级高于或 (14)按照文件时间戳查找 按天数: -mtime:根据修改时间查找 -ctime:根据改变时间查找 -atime:根据访问时间查找 例如 find ./ -amin -5查找当前目录下五分钟之内访问过的文件 find ./ -atime +7 查找当前目录下至少七天没有访问过的文件 [+|-]#a,m,c +#:大于# -#:小于 #天m 按天查找:-mmin:根据修改时间查找 -cmin:根据改变时间查找 -amin:根据访问时间查找 (15)按照文件权限查找 -perm MODE 按权限查找 /mode:任意一位匹配都满足条件(/644 600可以 ) -perm 后面直接跟权限是做精确匹配的 如:find ./ -prem 644 精确查找权限是644 的文件 例如:find ./ -perm /644意思是只有有一个符合就行 -mode:文件权限能完全包含此mode时才能显示 每一位必须匹配才行 例如:find ./ -perm -644(查找644的权限文件,755 764 都能匹配到) 1.2.2执行的动作 (1)-print:默认是显示出来 (2)-ls:类似ls -l的形式显示每一个文件的详细 -ok COMMAND ;(以反斜线分号结束,否则是语法错误) -ok COMMAND {}; :COMMAND:命令行 每一个操作需要用户确认 -exec COMMAND {} ; :不需要确认 {}就是引用前面匹配到的文件的文件名 然后以;结尾 例如 find ./ -perm -006 –exec chmod o-w {} ;意思是把权限是006的文件其他用户的写权限去掉 find ./ -name “.*sh” –a –perm -111 –exec chmod o-x {} ; 查找以.sh结尾并且所有用户都具有执行权限的文件,然后把这个文件其他用户的执行权限去掉 find /etc –size +1M -exec echo {} >> /tmp/etc.largefiles ;查找etc下所有大于1M的文件 find /etc –size +1M | xargs echo {} >> /tmp/etc.largefiles 意思同上(不需要反斜线与分号结尾但是需要占位符) (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |