zoukankan      html  css  js  c++  java
  • 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 来处理类似的需求
  • 相关阅读:
    【郑轻邀请赛 G】密室逃脱
    【郑轻邀请赛 C】DOBRI
    【郑轻邀请赛 F】 Tmk吃汤饭
    【郑轻邀请赛 I】这里是天堂!
    【郑轻邀请赛 B】base64解密
    【郑轻邀请赛 A】tmk射气球
    【郑轻邀请赛 H】 维克兹的进制转换
    解决adb command not found以及sdk环境配置
    adb shell 命令详解,android, adb logcat
    Unexpected exception 'Cannot run program ... error=2, No such file or directory' ... adb'
  • 原文地址:https://www.cnblogs.com/xy14/p/12055355.html
Copyright © 2011-2022 走看看