美文网首页
Linux之find文件查找命令

Linux之find文件查找命令

作者: iCarpe_DIEM | 来源:发表于2019-03-11 08:37 被阅读0次

find命令:find命令是一款文件查询定位工具,它可以精准的定位到我们想要查找文件的路径。
find主要特性有:
   1、精准查找
   2、实时查找(在创建文件后能够find查找其所在路径,不同于locate)
   3、查找速度稍慢
find用法
   find [options] [查找路径] [查找名称] [执行条件]
常用的查找条件有:
   1、通过文件名查找
      name:通过名称查找
      iname:忽略文件名大小写查找
   示例:查找/etc目录下passwd文件
   find /etc -name "passwd"   find /etc -iname "PASSWD"(都能查找出passwd文件所在路径)

21.png

   2、通过从属关系查找
      -user:通过文件属主查找
      -group:通过文件属组查找
      -uid:通过uid查找
      -gid:通过gid查找
   示例:

find /data -user xiaomei:查找/data目录下文件属主为xiaomei文件的所在位置
find /data -group xiaomei:查找/data目录下文件属组为xiaomei文件的所在位置
find /data -uid 0:查找/data目录下文件属主uid为0文件所在位置
find /data -gid 0:查找/data目录下文件属组gid为0文件所在文职

   3、通过文件权限定位
      -perm mode:精确权限匹配
      -perm /mode:任何一类u、g、o用户权限中有任何一位r、w、x权限即满足条件
      -perm -mode:任何一类u、g、o用户权限必须同时满足指定r、w、x的权限
   示例:

find /data -perm 222:表示文件的属主、属组和其它用户对文件只具有“写”权限
find /data -perm /222:表示文件的属主、属组和其它用户中至少一类用户满足“写”权限即可
find /data -perm /222:表示文件的属主、属组和其它用户必须都有“写”权限

   4、通过文件类型定位
      -type TYPE
       -d:查找目录文件
       -f:查找普通文件
       -b:查找块设备文件
       -c:查找字符设备文件
       -l:查找符号链接文件
       -p:查找管道文件
       -s:查找套接文件
   5、通过时间戳匹配
     通过访问时间atime

`-atime [+ | -]n`
`-atime n`:(-n-1,n]
   -atime 7:表示在前8天到第7天访问过的文件,第8天不算,以小时来算就是(192,168]之间被访问过的文件
`-atime -n`:[0,-n)
`-atime +n`:(-n,∞)
这里为了能够很好的理解,把n当做负数,实际上“天”是没有负数的

     通过数据更改时间mtime

`-mtime [+ | -]n`
`-mtime n`:-n-1 < -n <= -n
`-mtime -n`:[0,-n)
`-mtime +n`:(-n,∞)

     通过元数据更改时间mtime

`-ctime [+ | -]n`
`-ctime n`:-n-1 < -n <= -n
`-ctime -n`:[0,-n)
`-ctime +n`:(-n,∞)

   6、通过文件大小匹配
     -size [+ | -]n

`-size n`:n-1 < x <= n (n-1,n)
`-size +n`:(n,∞)
`-size -n`:[0,n-1]
例如:以10K来比较(-size 10K表示大于9K小于等于10K就符合)
     (-size +10K表示大于10K就符合)
      (-szie -10K表示大于0小于等于9K就符合)

常用逻辑关系有:

-a:逻辑与
   例如:find /data -user root -a -group root(表示属主和属组为root的文件)
-o:逻辑或
例如:find /data -user root -0 -group root(表示属主或属组为root的文件)
-not/!:取反
例如:find /data -not -user root -a -not -group root(表示属主和属组都不是root的文件)

处理动作有:

ls:这里的ls实际上等于ls -l
delete:删除查找出的文件
-fls /path:将查找出来的文件以长格式保存至其它文件中
-ok command {} ;\:{}表示前面命令查找出来的结果,;\为固定格式,使用-ok处理文件会有提示信息(例如:find /etc -name "passwd" -ok delete {} ;\将查找出来的passwd文件删除,并提示)
-exec command {} ;\:使用-exec处理文件不会有提示信息(例如:find /etc -name "passwd" -ok delete {} ;\将查找出来的passwd文件删除,并不提示)

以上则为find命令常见是使用方法

相关文章

网友评论

      本文标题:Linux之find文件查找命令

      本文链接:https://www.haomeiwen.com/subject/rcuhpqtx.html