linux find命令与grep命令

find命令

    Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。

    如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

    语法格式

      find [查找范围] [参数] 

    参数说明

      单独使用的参数

      -name : 按照文件的名字去查找

      -iname :按照文件的名字取查找(忽略文件名字的大小写)

        * :通配符(*file查找以file结尾的,file*查找以file开头的)

 

 

      -size :按照文件的大小查询文件

        +:大于(需要加上大小单位)

        -:小于(需要加上大小单位)

       没符号:等于(需要加上大小单位)

 

       -mtime : 按照修改时间查询

        +(默认):n天以前

        -               :n天以内

      -atime : 按照访问时间查询

        +(默认):n天以前

        -               :n天以内

      -ctime : 按照属性修改时间查询

        +(默认):n天以前

        -               :n天以内

      -user :按照用户的属主查询

      -group:按照用户的属组查询

      -type :按照文件的类型查询

        d:文件夹

        f:普通文件

        l:链接文件

        s:套接字文件

        p:管道文件

        b:磁盘文件

        c:字符文件

      -perm:按照文件的权限查询(必须是权限的数字编号)

      -inum:根据index node号码查询

      搭配其他参数使用的参数

      -a :并且(默认使用,可以省略)

      -o: 或者

      -maxdepth:查询的目录深度(该参数必须放在第一个参数位)

 

 

      -exex :将find处理好的结果交给其他命令继续处理

      案例: 要求把/etc目录下,所有的普通文件打包压缩到/tmp目录

        tar -czPf /tmp/etc.tar.gz `find /etc -type f | xargs`

      PS:     | : 前面一个命令的结果交给后面一个命令处理

         xargs : 把处理的文本变成以空格分割的一行

         `` : 提前执行命令,然后将结果交给其他命令来处理

 

三剑客之grep

    Linux grep 命令用于查找文件里符合条件的字符串。

    可以看作是一个文本过滤器,格局文本内容过滤文件

    语法格式

      grep [参数] [匹配规则] [操作对象]

    参数说明

      -n :过滤文本时,将过滤出来的内容在文件内的行号显示出来

      -A:匹配成功之后,将匹配行的后n行显示出来

      -B:匹配成功之后,将匹配行的前n行显示出来

      -C:匹配成功之后,将匹配行的前后各n行显示出来

 

 

      -c:只显示匹配成功的行数

      -o:只显示匹配成功的内容

 

 

      -v:反向过滤

  

 

 

      -q:静默输出(不显示过滤的内容)

        $? : 上一行命令执行的结果,0代表执行成功,其他数字代表执行失败

 

 

      -i:忽略大小写

 

 

      -l:匹配成功后,将文本的名称打印出来

 

 

      -R|-r :递归匹配

      -E :使用拓展正则 等价于 egrep

      知识拓展

       wc:匹配行数

        -l:打印匹配的行数

        -c :打印匹配的字节数

 

 

正则表达式

    普通正则表达式

      ^ : 以某字符开头
      $ : 以某字符结尾
      . : 匹配除换行符之外的任意单个字符
      * :匹配前导字符的任意个数
      [] : 某组字符串的任意一个字符
      [^] : 取反
      [a-z] : 匹配小写字母
      [A-Z] : 匹配大写字母
      [a-zA-Z] : 匹配字母
      [0-9] : 匹配数字
      \ : 取消转义
      () : 分组
      \n : 代表第n个分组

    拓展正则

      {} :匹配的次数
      {n} : 匹配n次
      {n,} :至少匹配n次
      {n,m} :匹配 n 到 m 次
      {,m} :最多匹配m次
      + :匹配至少有一个前导字符
      ? : 匹配一个或零个前导字符
      | :或

    

      

        

        

      

posted @ 2021-12-20 21:38  椰子皮0oo0  阅读(425)  评论(0)    收藏  举报
1