首页 > 其他 > 详细

Linux中find你不知道的秘密

时间:2014-03-05 23:23:54      阅读:605      评论:0      收藏:0      [点我收藏+]



今天带大家来了解一下find的强大功能。在Linux中查找文件的命令通常为“find”命令,“find”命令能帮助我们在使用,管理Linux的日常事务中方便的查找出我们需要的文件。  


find命令是实时查找做精确匹配,只匹配文件本身,但是速度慢

find [options] [查找路径] [查找条件] [处理动作]

              查找路径:默认的为当前目录

              查找条件:默认的为查找指定路径下的所有文件

              处理动作:默认为显示

1、按用户查找文件

-name: 指定文件名查找,支持文件名通配符

-iname: 指定文件名查找,不区分大小写

-user: 根据文件属主查找

-group: 根据文件属组查找

#在用户被删除,但用户文件存在时使用 -user不能查找出文件,此时可以用UID

-uid: 根据UID查找

-gid: 根据GID查找

-nouser: 查找没有属主的文件

-nogroup: 查找没有属组的文件

说明:通常使用格式

find /tmp/ -name *.txt #文件名后缀是.txt的所有文件

find /tmp/ -user root #用户root的所有文件

find /tmp/ -nouser root #用户不是root的所有文件

find /tmp/ -nouser root -gid 500#用户不是root且组ID为500的文件

2、组合条件查找

-a: 与,两边条件必须同时满足,可以省略-a

-o: 或,两边条件有一个满足即可

-not: 非,条件取反

说明:find命令的组合条件查找看起来简单,其实挺复杂的,这里面隐含了德摩根定律的运用。

德摩根定律:

非(P 且 Q)=(非 P)或(非 Q)

非(P 或 Q)=(非 P)且(非 Q)

bubuko.com,布布扣


3、根据文件类型查找

f:普通文件

d:目录

b:块设备

c:字符设备

l:符号链接文件

p:命名管道

s:套接字

bubuko.com,布布扣

4、根据文件的大小查找

    -size [+|-]#Unit   不带+.-就是等于  是做精确查找的

          例如:-size +2MB

          常用单位:K, M, G

       -size参数带加减号分别表示三种情况

       -size 2MB:不是表示精确查找文件大小为2MB的文件,而是表示区间是1MB-2MB大小的文件,(#-1)< x <#

       -size +2MB:表示查找大于2MB的文件,x > #

       -size –2MB:不是表示精确查找文件小于2MB的文件,而是表示区间是0MB-(2-1)MB大小的文件,0 < x < (#-1)

bubuko.com,布布扣

5、根据时间戳查找

        以天为单位的:

             -atime[+|-]#   :  访问时间

           例如  +:表示(#+1)天之外被访问过的

                   -:表示#天之内被访问过的

                   无字符:表示短于(#+1) > x  >=#天的时间段被访问过

             -mtime  :  修改时间

             -ctime   :  改过时间

        以分钟为单位的:

             - amin

             - min

             - cmin

6、根据权限查找:

             -perm  [+|-]MODE

                        MODE: 精确匹配

                      +MODE:任何一类用户的任意一位权限匹配:有一个就可以,常用于查找某类用户的某特定权限是否存在

                      -MODE:每类用户的指定要检查的权限位都匹配:每个都要有

bubuko.com,布布扣

7、find的处理动作

             -print:显示在标准输出上

             -ls     :以长格式输出各文件信息

             -exec COMMAND {} \;  :对查找大的文件执行指定的命令

             -ok    COMMAND {} \;  :交互式的-exec

             find把查找到的所有文件一次性的传递给-exec所指定的命令,{}表示占位符,前后要加上空格

              find | xargs COMMAND




如有雷同,纯属巧合。这就是我对find的理解。。。。

Linux中find你不知道的秘密,布布扣,bubuko.com

Linux中find你不知道的秘密

原文:http://songoo.blog.51cto.com/8620619/1368846

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!