一、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
!