zoukankan      html  css  js  c++  java
  • 每天一个Linux命令-find

    find在不指定查找目录的情况下是对整个系统进行遍历查找。

     [指定查找目录]格式:   find  [指定查找目录]  [查找规则]  [查找完后执行的action]

     1)根据文件名查找

      #  -name       //根据文件名查找(精确查找)(-iname 不区分大小写)

                *表示  通配任意的字符        

              ?表示  通配任意的单个字符     

                [ ] 表示通配括号里面的任意一个字符

    2)根据文件所属用户和组来查找文件

      #  -user         //根据属主来查找文件

       #  -group        //根据属组来查找文件

     3),根据uid gid来查找用户

       #find  /tmp  -uid  500  //查找uid500 的文件

       #find  /tmp  -gid  1000 // 查找gid1000的文件

    4),-a  and  -o  and  –not的使用

        # -a 连接两个不同的条件(两个条件必须同时满足)

        # -o 连接两个不同的条件(两个条件满足其一即可)

       # -not 对条件取反的

    5)根据文件时间戳的相关属性来查找文件

      我们可以使用stat命令来查看一个文件的时间信息

               #-atime 最近一次访问时间

               #-mtime 最近一次内容修改时间

               #-ctime 最近一次属性修改时间

               #-amin

               #-mmin

               #-cmin

      #find  /tmp  –atime  +5           //表示查找在五天内没有访问过的文件

      #find  /tmp  -atime  -5            //表示查找在五天内访问过的文件

    6)根据文件类型来查找文件

       -type

                          f     // 普通文件

                          d     //目录文件

                          l     //链接文件

                          b     //块设备文件

                          c     //字符设备文件

                          p     //管道文件

                          s     //socket文件

     (7)根据大小来查找文件

      -size

              #find  /tmp  -size   2M           //查找在/tmp 目录下等于2M的文件

              #find  /tmp  -size  +2M           //查找在/tmp 目录下大于2M的文件

              #find  /tmp  -size  -2M           //查找在/tmp 目录下小于2M的文件

    (8)根据文件权限查找文件

                  -perm

              #find  /tmp  -perm  755           //查找在/tmp目录下权限是755的文件

              #find  /tmp  -perm  +222          //表示只要有一类用户(属主,属组,其他)的匹配写权限就行

              #find  /tmp  -perm  -222          //表示必须所有类别用户都满足有写权限

    (9)-nouser  and  -nogroup

     #find  /  -nogroup –a –nouser       //在整个系统中查找既没有属主又没有属组的文件(这样的文件通常是很危险的,作为系统工程师的我们应该及时清除掉)

      [查找完执行的action]

     # -print                                 //默认情况下的动作

     # -ls                                     //查找到后用ls 显示出来

     # -ok  [commend]                //查找后执行命令的时候询问用户是否要执行

     # -exec [commend]              //查找后执行命令的时候不询问用户,直接执行

    这里要注意{}的使用:替代查找到的文件

     #find  /tmp  -atime  +30  –exec rm –rf  {}  #删除查找到的超过30天没有访问过文件

     我们也可以使用xargs来对查找到的文件进一步操作

  • 相关阅读:
    CodeForces 347B Fixed Points (水题)
    CodeForces 347A Difference Row (水题)
    CodeForces 346A Alice and Bob (数学最大公约数)
    CodeForces 474C Captain Marmot (数学,旋转,暴力)
    CodeForces 474B Worms (水题,二分)
    CodeForces 474A Keyboard (水题)
    压力测试学习(一)
    算法学习(一)五个常用算法概念了解
    C#语言规范
    异常System.Threading.Thread.AbortInternal
  • 原文地址:https://www.cnblogs.com/3ddan/p/10409196.html
Copyright © 2011-2022 走看看