1. 概述

    1. 继续昨天的 find
  2. 背景

    1. 还有一些 过滤条件

1. 约束: 目录层数

  1. 概述

    1. 约束目录的层级
  2. 选项

    1. -maxdepth

      1. 作用

        1. 约束最大目录层级
        2. 相对路径
    2. -mindepth

      1. 作用

        1. 约束最小目录层级
        2. 相对路径
    3. 其他

      1. 路径从 1 开始算
      2. 都是 正整数
  3. 命令

    # 查找层数 [1, 1]
    > find /etc -name 'passwd' -maxdepth 1
    # 查找层数 [1, 正无穷]
    > find /etc -name 'passwd' -mindepth 1
    # 查找层数 [1, 2]
    > find /etc -name 'passwd' -maxdepth 1 -mindepth 1

2. find: 逻辑运算

  1. 概述

    1. find 的一些约束条件, 也可以做逻辑运算
  2. 选项

    1. -a

      1. 概述

      2. 形式

        expr1 expr2
        expr1 -a expr2
        expr1 -and expr2
      3. 逻辑

        1. expr1 为 真, 则 expr2 继续执行
        2. expr1 为 假, 则 expr2 不再执行
        3. 有点像 java 的 && 有木有?
    2. -o

      1. 概述

      2. 形式

        expr1 -o expr2
        expr1 -or expr2
      3. 逻辑

        1. expr1 为 真, 则 expr2 不再执行
        2. expr1 为 假, 则 expr2 继续执行
        3. 有点像 java 的 || 有木有?
    3. ! / -not

      1. 概述

      2. 形式

        !expr
        -not expr
      3. 逻辑

        1. expr 真值取反

          1. 最好用 '' 引起来
        2. 有点像 java 的 ! 有木有?

3. 约束: 排除路径

  1. 概述

    1. 在范围内, 排除一个路径
  2. -prune

    1. 概述

      1. 排除
    2. 机制

      1. 需要前面的 test

        1. 比如 name, path 之类的东西
      2. 如果前面的判定为 true, 则不会进入 目录 进行查找

      3. 不会像其他的 action, 和 -print 排斥

        1. -print 是默认的 action
  3. 命令

    # 单独使用
    # path 里是 通配符
    # 结果只会显示 /etc/pam.d
    > find /etc -path "*pam.d*" -prune # 排除
    # 1. -o 后面必须要跟 action,
    # 1. 单纯的 expr 会自带 -print
    # 2. 按理说, 这里的 -prune 后面也有个 print, 但是我试了试, 发现 -o 连接多个 print, 最后只打印一次, 但是原因, 确实没找到
    # 3. -prune 把 path 匹配的内容, 标记了 true, 所以 print 就不执行了, 没有标记 true 的, print 反而会执行... > find /etc -path "*pam.d*" -prune -o -print

4. 约束: 排除多个路径

  1. 概述

    1. 一次排除多个路径
  2. 命令

    # 简单举个例子
    # 还可以根据需要, 使用 -a, !
    # 还可以把 path 换成 regex, name 等等 test
    > find /etc \( -path "*pam.d*" -o -path "*ntp*" \) -prune -o - print

ps

  1. ref

    1. Finding Files

      1. gnu 的官方文档

        1. 东西很全, 也很清楚
    2. 每天一个linux命令(22):find 命令的参数详解
  2. 其他

    1. find 这块, 终于结束了

      1. 如果真的再要加深, 估计得到 底层, 看 代码实现了
      2. 不过 gnu 的文档写的倒还听清楚
        1. 比 man 好不少
  3. 以后

    1. 通配符抽空写一个吧, 反正也就那点东西

Linux - Shell - find - 进阶: 范围的更多相关文章

  1. linux shell编程进阶学习(转)

    第一节:基础 ls -lh  ——可以用户友好的方式看到文件大小 file 文件名 ——查看文件类型 stat 文件名 ——查看文件当前状态 man 命令/函数名 ——查看详细的帮助文档 man中看某 ...

  2. Linux - Shell - find - 进阶: 时间与大小

    概述 继续 find 这次的内容, 参数稍微要 复杂那么一丢丢 背景 刚学会了 基础 的参数 现在来了解一些 时间 和 空间 的参数 一说到操控时间空间, 感觉立马起来了... 准备 OS cento ...

  3. Linux shell脚本进阶使用

    shell的循环控制语句 - continue:提前结束某次循环,重新开始下一次 - break:提前结束某层循环 范例: #求100以内的奇数和 #!/bin/bash sum=0 for i in ...

  4. linux shell脚本之-变量极速入门与进阶(2)

    1,$$:显示当前的进程id号 ghostwu@dev:~/linux/shell/how_to_use_var$ cat show_pid.sh #!/bin/bash echo $$ ghostw ...

  5. linux shell脚本之-变量极速入门与进阶(1)

    1,如果创建shell脚本? 使用任意文本编辑软件,一般为vim,创建.sh结尾的文件,在文件的最开头用 #!/bin/bash 注明shell的类型 如: ghostwu@dev:~/linux/s ...

  6. [拾 得] 一枚迷人的贝壳 SHELL / Linux | shell 脚本初步入门

    坚持知识分享,该文章由Alopex编著, 转载请注明源地址: http://www.cnblogs.com/alopex/   索引: 什么是shell shell的分类 shell脚本的执行方式   ...

  7. 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和"普通变量"之完全解读

      2015-05-08 00:15 3896人阅读 评论(10) 收藏 举报 本文章已收录于:   分类: 软件开发进阶(419) 作者同类文章X Unix/Linux杂项(118) 作者同类文章X ...

  8. linux shell 中的sleep命令

    开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...

  9. Linux shell脚本编程(三)

    Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...

随机推荐

  1. jquery form表单赋值封装

    ;!(function ($) { $.fn.setFormValue = function (options) { var $this = $(this); $.each(options, func ...

  2. jQuery---京东轮播图

    京东轮播图 有个计数的,点右边,计数增加,判断计数是否超过总的长度,超过设置计数为0,再设置当前的图片动画,兄弟的图片动画 左边点击同理,计数是--,判断计数是否等于-1,等于则reset计数为总长度 ...

  3. Error in nextTick: "TypeError: Cannot set property 'xxx' of undefined"解决办法

    vue项目在控制台中报这个错误时,当看到nextTick词时想到vue的$nextTick()方法 Vue 在更新 DOM 时是异步执行的.只要侦听到数据变化,Vue 将开启一个队列,并缓冲在同一事件 ...

  4. windows 环境变量%SystemDrive%和%SystemRoot%、%AppData%、%LocalAppData%、%TEMP% 等简写

    windows 环境变量%SystemDrive% 和%SystemRoot%.%AppData%.%LocalAppData%.%TEMP% 等简写 假设操作系统安装在 C: 盘 %SYSTEMRO ...

  5. LaTeX技巧002:\section{}章节命令添加中文编译不了问题

    在宏包hyperref前面添加选项CJKbookmarks \usepackage[CJKbookmarks]{hyperref} 并且把这句话尽可能地加在导言区的最底部,即尽可能靠近 \begin{ ...

  6. rp算法 随机化 刷题记录

    刷随机化是真的会上瘾quq 洛谷P3973 [TJOI2015]线性代数 看oiwiki上说可以随机化...于是... 就随机在a[i]上选一位取反,然后更新答案,最后输出答案. ...无话可说 代码 ...

  7. [SHOI2001] 小狗散步 - 二分图匹配

    考虑到每次与主人相遇之前最多只去一个景点,很容易转化为匹配问题 由于数据很小,我们不妨枚举每个相遇点间隙和每个景点,判断是否来得及,如果来得及就连边 沙雕题搞了二十来分钟,我是憨憨 #include ...

  8. BK: Data mining

    data ------> knowledge Are all patterns interesting? No. only a small fraction of the patterns po ...

  9. Spring Boot整合Dubbo2.x,解决其中遇到的坑

    Dubbo了解 a high-performance, java based open source RPC framework. Dubbo官网 源码 文档 快速知道用法 本地服务 Spring 配 ...

  10. 第一次个人编程作业·寒假

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/SE/ 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy ...