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文件多少遍。

  • 相关阅读:
    SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问
    谷歌浏览器扩展程序manifest.json参数详解
    获取天气api
    UVA 10385 Duathlon
    UVA 10668 Expanding Rods
    UVALIVE 3891 The Teacher's Side of Math
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 11210 Chinese Mahjong
    UVA 11384 Help is needed for Dexter
  • 原文地址:https://www.cnblogs.com/huashui/p/3286127.html
Copyright © 2011-2022 走看看