查找命令:

find  和local

local:非实时查找,模糊查找,查找是根据全系统文件数据库进行的;

updatedb,手动生成文件数据库;

查找速度快;

find:实时查找,精确查找;

支持众多查找标准,分为:

路径:默认当前路径;

标准:默认指定路径下的所有文件;

处理运作:默认为显示;

find的匹配标准:

-name file:精确查找

文件名通配

      *

     ?

     []

  -iname file :文件名匹配不区分大小写

  -regex pattern :基于正则表达式进行匹配

  -user  username:属主查找

  -group

  -uid

  -gid    

  -nouser:查找没有属主

  -nogroup:没有属组

  -type:

     f:普通

     d:目录

     c:字符设备文件

     b:块设备文件

     l:链接

     p:命令管道文件

     s:套接

    -size[+|-]

         #k:精确多少k

         #M   

         #G

组合条件:

        -a: 与  

  -o:或

  -not:非

       [+|-]   time(天)min(分钟)

  -mtime:修改以前时间

  -ctime:修改最近时间

  -atime:修改访问时间

  -mmin:修改以前时间

  -cmin:修改最近时间

  -amin:修改访问时间

-perm  mode :权限

   /mode:任意一位匹配及满足条件

  -mode:精确,文件权限能完全包含此MODE时才能显示

运作:

 -print:显示

 -ls:类似ls -l的形式显示每一个文件的详细

 -ok command {}\;每一处操作需确认

 -exec command {}\;不需要确认-

特殊权限:

  passwd: s

suid:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者

    chmod u+s file

    chmod u-s file

        如果file本身原来就有执行权限,则suid显示为s;否则显示S

sgid:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组

    chmod g+s file

    chmod g-s file

sticky:在一个公共目录,每个人都可以创建文件,但不能删除别人的文件

  chmod o+t file

  chmod o-t file

例题:

   查找/var目录下属主为root并且属组为mail的所有文件

  #  find /var -user root -group mail
 

  查找/usr目录下不属于root,bin,或student的文件

 # find /usr -not -user root -a -not -user bin -a -not -user student

  查找/etc目录下最近一周内内容修改过且不属于root及student用户的文件

 #  find /etc -mtime -7 -not -user root -a -not -user student

  查找/etc目录下所有用户都没有写权限的文件,显示出其详细信息

  #  find /etc -not -perm /222 -ls