• Linux


    1. 概述

      1. 继续 find
      2. 这次的内容, 参数稍微要 复杂那么一丢丢
    2. 背景

      1. 刚学会了 基础 的参数
      2. 现在来了解一些 时间 和 空间 的参数
        1. 一说到操控时间空间, 感觉立马起来了...
    3. 准备

      1. OS
        1. centos7
      2. 用户
        1. root

    1. linux 文件时间戳

    1. 概述

      1. linux 文件时间戳回顾
    2. 时间戳

      1. linux 文件有 3 个时间戳
        1. a
          1. 访问, 读入内存
        2. c
          1. 修改元数据, inode 数据
        3. m
          1. 修改数据, 文件数据
    3. find 与时间

      1. 支持
        1. find 支持这三种时间, 作为约束条件
        2. 但是三种又 大同小异
        3. 所以, 我只选择 mtime 来做演示

    2. find 时间参数的一些格式

    1. +n

      1. > n
        1. 以 时间为例, 单位是 分钟
          1. n = 1, 范围是 [1:00, 无穷大]
    2. -n

      1. < n
        1. 以 时间为例, 单位是 分钟
          1. n = 1, 范围是 [0:00, 1:00]
    3. n

      1. 精确 = n
        1. 也不是很精确
        2. 以 时间为例
          1. n = 1, 范围是 [0:00, 1:00]
          2. n = 2, 范围是 [1:00, 2:00]
    4. 其他

      1. 作用范围

        1. 时间
          1. min 类选项
          2. time 类选项
        2. 空间
          1. size 类选项
      2. 区间的端点, 可能会不那么精确

        1. 查找的时候, 尽量不要让要找的内容, 在 时间边界 上

    3. 约束: mmin, mtime

    1. 概述

      1. 编辑时间的约束
      2. 另外两个时间风格类似, 就不重复介绍了
    2. 选项

      1. -mmin

        1. 概述

          1. 编辑时间过滤
          2. 单位是 min
        2. 作用

          1. 查找 最后编辑时间, 在 n 分钟的内容
      2. -mtime

        1. 概述

          1. 编辑时间过滤
          2. 单位是 天
          3. 无视 时区
        2. 作用

          1. 查找 最后编辑时间, 在 n 天的内容
    3. 命令

      # 查询 编辑时间距现在在 [1:00, 2:00] 区间内的内容
      > find /etc -mmin 2
      # 查询 编辑时间距现在在 [0:00, 2:00] 区间内的内容
      > find /etc -mmin -2
      # 查询 编辑时间距现在在 [2:00, 正无穷] 区间内的内容
      > find /etc -mmin +2
      
      
      # 查询 编辑时间距现在在 [1day, 2day] 区间内的内容
      > find /etc -mtime 2
      # 查询 编辑时间距现在在 [0day, 2day] 区间内的内容
      > find /etc -mtime -2
      # 查询 编辑时间距现在在 [2day, 正无穷] 区间内的内容
      > find /etc -mtime +2
      
    4. 其他参数

      1. atime
        1. amin
        2. atime
      2. ctime
        1. cmin
        2. ctime

    4. 约束: newer

    1. 概述

      1. 编辑时间的维度
      2. 这次的参数, 是另一个 参照物文件
    2. -newer

      1. 作用
        1. 后面跟一个文件

          1. 比这个文件 更新的内容, 会被 搜索出来
        2. 疑问: 有 older 吗?

          1. 这个我目前没有找到...
    3. 命令

      > find /etc -newer /etc/passwd
      
    4. 其他参数

      1. atime
        1. anewer
      2. ctime
        1. cnewer

    5. 约束: size

    1. 概述

      1. 文件大小相关的约束
    2. -size

      1. 作用

        1. 以 文件大小作为 约束条件
      2. 单位

        1. b

          1. 不是 byte
          2. 大小为 512 byte
          3. 为什么是这个奇怪的大小
            1. 很多硬盘的 block, 刚好也是这个大小
            2. 不知道是先有哪个, 反正这俩大小刚好一样
        2. c

          1. byte / B
        3. w

          1. 2bytes
        4. k

          1. KB
        5. M

          1. MB
        6. G

          1. GB
      3. 我也不知道为啥

        1. M 以下的都要小写
      4. 常用

        1. ckMG 四个足矣
    3. 例子

      # 查找大小为 1k 的文件
      > find /etc -size 1k
      # 查找大小小于 1k 的文件
      > find /etc -size -1k
      # 查找大小大于 1k 的文件
      > find /etc -size +1k
      # 这个 -/+ 上面有说, 我就不再提了
      

    ps

    1. ref

      1. find(1) - Linux man page
    2. 后续

      1. 文件的范围与层次
        1. depth
        2. 复合的range
    3. 感觉

      1. 这个地方单独提出来的理由
        1. 上一篇讲得东西, 感觉是 最日常 的
        2. 这里的东西, 稍微日常一点, 而且 那个参数格式的东西, 第一次见到的话, 可能要蒙圈一下
          1. 我也不知道, 是不是我第一次见到的那个人, 讲得太烂...
      2. 下一篇可能是最后了吧
        1. 其实还有 exec {} 的内容, 但是 理解了 xargs 之后, 会发现 xargs 其实更加强大
          1. 所以我打算用 xargs 来处理类似的需求
  • 相关阅读:
    C语言学习_C如何在一个文件里调用另一个源文件中的函数
    C语言学习_include<>与include""的区别
    C语言学习_一个简单程序的解释与C学习方法概括
    python_list和tuple互转
    C语言学习_恶搞小程序
    Linux命令(基础1)
    Linux基础配置
    面向对象知识补充1
    linux系统centOS在虚拟机下的自定义安装
    sql注入
  • 原文地址:https://www.cnblogs.com/xy14/p/12055355.html
Copyright © 2020-2023  润新知