zoukankan      html  css  js  c++  java
  • linux命令——find

    简介:find是Linux系统中的常用命令(应用程序)之一。它是用来在指定目录层次结构(指定目录的子目录以及子目录的子目录)中查找符合指定条件的文件和目录

    一:语法结构

      find [directory-list] [option] [expression]

    二:参数详解

          directory-list : 用来指定find要搜索的目录结构,当为指定directory-list时,默认是当前目录。

      option :忽略

      expression :  指定的查找文件的规则(条件),当没有指定是默认规则是‘-print’()。可指定多个规则,多个规则之间可以进行逻辑运算(or-and).

                   可在指定规则前加!(感叹号),取规则的反义。

              规则的计算默认是从左到右,除非表达式存在圆括号。

              在规则中使用圆括号,方括号[],问号?星号*,需要转义字符(/),以阻止shell对其解释。

    三:expression(规则)

      find的全部规则大概有20个左右,在此我只列觉我个人认为有用并且常用的几个。

      * 在expression规则中 (+|-)n是表示一个十进制整数,+n表示比n大 ,-n比n小,n等于n。

           -name pattern:根据pattern(pattern可支持(`*', `?',and `[]')匹配文件或目录 ),来查找符合指定pattern的文件名。

        备注:该规则对大小写敏感,可通过-iname对大小写不敏感

            -user uname:查找文件归属用户名为uname的文件

        备注:可类比出文件所属组(-group gname),已经不属于(-nouser uname)。

      -perm 777:权限模式,这个规则你必须了解linux的文件权限模式。 

            -ctime n:文件最近该变(change)的时间 

      -mtime n:文件修改(modified)时间

      -type (d|f|l):根据文件类型查找

      -exec  命令2 {} ; : 上一个命令的结果放入{},并作为参数传递给命令2。注意:{}与;是执行-exec的必备条件。注意:之间有空格。

    四:讨论

    4.1 find dir x y

         用x,y表示条件。dir表示待搜索的目录,语法中的option参数被省略了。

       该条命令说明find在dir目录中,先搜索符合x条件的文件,然后判断该文件是否符合y规则,注意如果文件x条件不符合就不回判断y条件了,因为x与y是用空格分割,空格相当与AND运算符(短路)。

    4.2 find dir x - or y

      类比4.1,该条命令是短路与

    五:示例

     当前目录: 

      [root@wxapp216 mydoc]# ls -l
      total 8
      -rw-r--r-- 1 root root 11 Aug 2 13:50 find.txt
      -rw-r--r-- 1 root root 4 Aug 2 13:56 find.vv
      drwxr-xr-x 2 root root 21 Aug 6 09:07 mydom1

        eg1: 

      [root@wxapp216 mydoc]# find . -iname "*D*"
      ./mydom1
      ./find.vv
      ./find.txt

        eg2:  

      [root@wxapp216 mydoc]# find . -iname "*D*" -name "*m*"
      ./mydom1

     eg3:  

      [root@wxapp216 mydoc]# find . -iname "*D*" -name "*m*" -exec ls -l {} ;
      total 4
      -rw-r--r-- 1 root root 23 Aug 6 09:07 ttt.txt

      eg4:  

      [root@wxapp216 mydoc]# find . -perm 755
      .
      ./mydom1

      

  • 相关阅读:
    (转)Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践
    (转)Spring Boot 2 (四):使用 Docker 部署 Spring Boot
    (转)Spring Boot 2 (三):Spring Boot 开源软件都有哪些?
    (转)Spring Boot 2 (二):Spring Boot 2 尝鲜-动态 Banner
    (转)Spring Boot 2(一):【重磅】Spring Boot 2.0权威发布
    环境变量和用户变量有什么区别?
    记录一下,关于错误提示:could not find a part of path “X:”的解决办法
    日积月累:ScrollView嵌套ListView只显示一行
    android PopupWindow实现从底部弹出或滑出选择菜单或窗口
    WCF 配置文件中的MaxStringContentLength & MaxReceivedMessageSize
  • 原文地址:https://www.cnblogs.com/jinliang374003909/p/11293789.html
Copyright © 2011-2022 走看看