find命令详解

248 阅读1分钟

语法:

find 查找路径 匹配标准 查找到以后的处理运作

查找路径:   默认当前目录
查找标准:   默认为指定路径下的所有文件
查找运作:   默认为显示

匹配标准:

-name 文件名  文件名做精确匹配
      文件名通配:
          *	任意长度的任意字符
          ?	任意单个字符
          []	指定范围内的任意单个字符
          [^]	指定范围外的任意单个字符
-iname 文件名  文件名匹配时不区分大小写
-regex 文件名  基于正则表达式进行文件名匹配
-user  用户名  根据属主查找
-group 组名    根据属组查找
-uid           根据uid查找
-gid           根据gid查找
-nouser        查找没有属主的文件
-nogroup       查找没有属组的文件
-type          根据文件类型查找
   f:     普通文件
   d:     目录
   c:     字符设备
   b:     块设备 
   l:     链接文件
   p:     管道设备
   s:     套接字设备 
-size	  根据文件大小查找
   [+,-]#k 
   [+,-]#M
   [+,-]#G
中括号中的内容可以省略,+表示大于,-表示小于,#表示任意数字

组合条件:

-a     与
-o     或
-not   非

-mtime [+,-]#  修改时间
-ctime [+,-]#  改变时间
-atime [+,-]#  访问时间
中括号中的内容可以省略,+表示大于,-表示小于,#表示任意数字

-perm 权限    精确匹配
-perm /权限   任意一位匹配即满足条件
-perm -权限   文件权限能完全包含此MODE时才符合条件

动作:

-print   显示
-ls      类似ls -l的形式显示每一个文件的详细
-ok 命令 {} \;     每次操作需要确认
-exec 命令 {} \;   操作不需要确认 
xargs