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

      find命令的工作方式如下:沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作。

      选项-name的参数指定了文件名所必须匹配的字符串。我们可以将通配符作为参数使用。

      而-iname参数则是忽略大小写。

      如果想匹配多个条件中的一个,可以采用OR条件操作:

      如果是且的条件则可以什么都不写,也可以写-and。

      选项-path可以使用通配符来匹配文件路径或文件。-path将文件路径作为一个整体进行匹配。

      选项-regex基于正则表达式来匹配文件路径的。

      可以用!否定参数的含义。

      find命令在使用时会遍历所有的子目录。我们可以采用一些深度参数来限制find命令遍历的深度。-maxdepth和-mindepth就是这类参数。

    如果只需在当前目录中进行检索,则可以设定最大深度-maxdepth为1:

    而最小深度-mindepth则可以用来查找那些距离起始路径超过一定深度的所有文件。

      -type选项可以根据文件类型来进行搜索。

    下表显示了所有的文件类型参数:

    文件类型 类型参数
    普通文件 f
    符号链接 l
    目录 d
    字符设备 c
    块设备 b
    套接字 s
    Fifo p

      Linux文件系统中的每一个文件都有三种时间戳,如下所示:

    · 访问时间(-atime):用户最近一次访问文件的时间。

    · 修改时间(-mtime):文件内容最后一次被修改的时间。

    · 变化时间(-ctime):文件元数据最后一次改变的时间。

    在Linux中没有所谓“创建时间”的概念。

    -atime、-mtime、-ctime可以作为find的时间选项,它们可以整数值给出,单位是天。数值前可以加上加号或者减号,表示大于或者小于多少天。

    上图三行命令分别表示7天之内访问过、7天之前访问过以及恰好7天前访问过三种情况。

    对应的-amin,-mmin,-cmin用来表示分钟。

      -newer参数可以找到比参考文件更新的所有文件。

      选项-size可以基于文件的大小来进行搜索。

      在find命令最后加上-delete选项可以删除查找到的匹配文件。

      选项-perm可以匹配特定权限的文件:

      -exec选项可以让find和其他命令一起执行:

    -exec还可以执行sh文件:

    注意:查找到多少个文件就执行sh文件多少遍。

  • 相关阅读:
    数据量你造吗-JAVA分页
    编写高质量代码改善java程序的151个建议——[1-3]基础?亦是基础
    概率论快速学习03:概率公理补充
    概率论快速学习02:概率公理
    项目ITP(六) spring4.0 整合 Quartz 实现动态任务调度
    项目ITP(五) spring4.0 整合 Quartz 实现任务调度
    编写高质量代码改善java程序的151个建议——导航开篇
    概率论快速学习01:计数
    改善JAVA代码01:考虑静态工厂方法代替构造器
    Python快速学习10: 循环的对象及设计 (生活的规律)
  • 原文地址:https://www.cnblogs.com/huashui/p/3286127.html
Copyright © 2011-2022 走看看