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

  • 相关阅读:
    c++ 获取某个进程个数
    Hadoop集群配置【三、多节点部署】
    *** glibc detected *** [没事写写Bug]
    Mahout in action 中文版3.推荐器的数据表达3.2
    simHash原理【转】
    Mahout in action 中文版2.推荐器的介绍2.4~2.6
    Hadoop集群配置【四、Hbase部署】
    mongodb driver 编译失败,各种undefine
    Mahout in action 中文版2.推荐器的介绍2.1~2.2
    Mahout in action 中文版3.推荐器的数据表达3.3~3.4
  • 原文地址:https://www.cnblogs.com/huashui/p/3286127.html
Copyright © 2020-2023  润新知