find命令解析


一、find是什么

find(精确查找)(实时查找)(而且可以指定查找路径)速度慢(支持通配glob)

二、find的基本用法

find[查找路径...可多个(省略时,默认为当前路径)][查找条件][处理动作,省略时表示仅显示出来]

三、下面介绍find的详细选项用法

-name""指定文件名;例如find /tmp -name "qinqin"

-iname""表示在查找时不区分文件的大小写

-user USERNAME根据用户进行查找

-group GROUPNAME根据属组进行查找

-uid UID根据UID进行查找

-gid GID根据GID进行查找

-nouser查找没有属主的文件

-nogroup查找没有属组的文件

-regex ""根据正则表达式查找

-oregex""不区分大小写的根据正则表达式查找

--type 根据文件类型查找;

d目录;例如find /var/log-type d

f普通文件

l符号链接

b block special

c character special

p named pipe

s socked

D door(Solaris)

-size 2

(K|M|G)例如:

-size +2M大于2M的文件

-size -1k小于1k的

-size 2M介于2M正负1M范围内的文件

单位是天

-atime [+/-](访问时间)

-mtime [+/-](修改时间)

-ctime [+/-](改变时间)

-atime  3到此刻刚好3天中被访问的文件

-atime -3天内访问的文件

-atime +3天前访问的文件

单位是分

-amin   [+/-]

-mmin   [+/-]

-cmin   [+/-]

-perm根据权限来查找

mode

/mode

-mode

例如:find /etc -perm 640 精确匹配,其权限必须是640

find /etc -perm /640三组权限中有任意一组匹配都行

find /etc -perm -640含有该权限的都得匹配

-perm 222查找出来的权限必须是222

-perm -222 可查找出666,只要含有222权限的都可以

-perm -400只要属主有读权限即可,其他任意权限

-perm /400属主有读权限,其他没有任何权限;符合这三组都可

处理动作:

-print默认情况

-ls

find /etc -perm -640 -ls以详细信息显示所查找到文件

-ok后可跟其他shell命令,后面必须跟个{占位符}\;(执行后面命令时提示是否执行)

-exec 后可跟其他shell命令,后面必须跟个{命令选项等}\ (执行后面命令时不提示)

例如 find /etc -perm -640 -exec ls -lh {} \;

chown RedHat {} \;修改查找到的文件的属主为redhat

例如find ./ -perm -002 -exec mv {} {}.old \;将查找到文件的名字加上.old

find | xargs COMMAND 不需要用占位符

多条件查找:条件间的逻辑关系

并关系:-a

或关系:-o

非关系:!或者-not

例如:find /tmp -name "passwd" -user root(默认并关系)

-a

-o

!

相关内容