Linux find查找

Linuxfind查找

1. 命令locate

  linux每晚会汇总当天文件生成文件数据库,local根据全系统数据库进行的查找,非实时,模糊匹配,速度快。

   updatedb:手动生成文件数据库,耗时。

 

2. 命令find

  实时性、精确、支持众多查找条件、遍历指定目录中的所有文件完成查找,速度慢。

 

  语法:find 查找路径 查找标准 查找到后处理动作

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

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

             查找到后处理动作:默认位显示。

匹配条件:

1.  -name:指定文件名称,精确匹配;  *:任意长度的任意字符。

   [root@localhost~]# find /etc -name 'passwd'

  /etc/passwd

  /etc/pam.d/passwd

2.  �Ciname:指定文件名不区域大小写。

   [root@localhost ~]# find /root -inameluosttest

   /root/luosttest

   /root/Luosttest

3.  �CregexPATTERN:基于正则表达式进行文件名的查找。

4.  �Cuserusername:基于用户所属的查找。

   [root@localhost~]# find /home -user pg

  /home/pg

  /home/pg/.viminfo

  /home/pg/.mozilla

5.  �Cgroupgroupname:根据所组查找。

   [root@localhost~]# find /home -group user1

  /home/user1

  /home/user1/.mozilla

  /home/user1/.mozilla/plugins

6.  �Cuid:根据用户id查找。

    [root@localhost~]# find /home -uid 500

7.  �Cgid:根据组用户id查找。

    [root@localhost~]# find /home -gid 5005

    /home/user1

8.  �Cnouser:查找没有属主的文件,经常使用此命令,清除没有属主的文件。

    [root@localhost~]# find /home �Cnouser

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

    [root@localhost~]# find /home �Cnogroup

10.  �Ctypex:基于文件类型的查找。

       f:普通文件

       d:目录

       c

       l:链接文件

[root@localhost ~]# find /root -type d  #查找是目录的文件。

 

11. �Csize x :基于文件大小的查找。

       x k:单位位k

       x M:单位为M

       x G: 单位为G

[root@localhost ~]# find /root -size 10k    #查找文件大小为10k的文件。

[root@localhost ~]# find /root -size 1M   #查找文件大小为1M的文件

[root@localhost ~]# find /root -size -10k  #查找文件大小小于10k的文件。+

[root@localhost ~]# find /root -size +10k  #查找文件大小大于10k的文件。

 

12. 组合条件(与、或、非)

-a:与关系

-o:或关系

-not:非关系  

Eg

[root@localhost etc]# find /tmp -nouser -a-type d   #查找tmp文件下没有属主并且文件类型是目录的文件。

[root@localhost etc]# find /tmp -nouser -o -typed   #查找tmp文件下没有属主或者文件类型是目录的文件。

[root@localhost ~]# find /tmp -not -type d   #查找tmp下不是目录的文件。

[root@localhost home]# find /home -not-user user1 -a -not -user user2  #既不是user1也不是user2的文件。

[root@localhost home]# find /home -not \(-user user1 -o -user user2 \)  #摩根定律。取反。

 

13. 时间查找

-mtime:按文件更改时间来查找文件。

-ctime:按文件创建时间来查找文件。

-atime:按文件访问时间来查找文件。

Eg

[root@qzt ~]# find /root -mtime -10   #查找10天内修改过的文件。

[root@qzt ~]#find /root -mtime +10   #查找10天以前修改过的文件。

[root@qzt ~]# find /root -ctime -10    #查找10天内创建的文件。

[root@qzt ~]# find /root -ctime +10    #查找10天以前创建的文件。

[root@qzt ~]# find /root -atime -10    #查找10天内访问过的文件。

[root@qzt ~]# find /root -atime +10   #查找10天前访问过的文件。

 

14. -perm:按照执行权限来查找。

[root@qzt ~]# find /root -perm 755    #查找执行权限为755的文件。

 

15. -newer:找文件修改时间在某一文件修改后的文件。

[root@localhost ~]# find -newer /root/test1  #test1修改之后修改过的文件。

 

16. -depth:先查找本目录,然后进入子目录查找。

[root@localhost ~]# find /etc /home /root-depth -name test1 #先查找目录/etc /home /root,再进入自目录查找。

/root/test1

 

17. -fstype: 查位于某一类型文件系统中的文件,这些文件系统类型通常可 /etc/fstab中找到。

[root@localhost ~]# find -fstype ext4

 

18. -mount: 查文件时不跨越文件系统mount点。

 

19. -follow:如果遇到符号链接文件,就跟踪链接所指的文件

20. -cpio:查位于某一类型文件系统中的文件,这些文件系统类型通常可 /etc/fstab中找到

21. -prune:忽略某个目录

----------------------------------------------------------------------------------------

 


你可能感兴趣的:(linux,查找,find)