• 文件元数据


    文件的元数据

    在Linux的文件系统中,数据可分为两大类:数据和元数据

    • 数据:泛指普通文件中的实际数据
    • 元数据:用来描述一个文件的特征的系统数据

    这样抽象的描述并不能很清楚地表示元数据的定义,所以下面将借助stat命令进行举例说明:

    stat命令

    stat – display file or file system status(用于展示文件或文件系统的状态)

    • 用法:stat [OPTION]… FILE…
    • 实例
    • 解释说明:利用stat命令,可以显示文件的元数据(13)
      • File:文件名
      • Size:文件大小(单位:B)
      • Blocks:文件所占扇区个数,为8的倍数(通常的 Linux 的扇区大小为 512 B,连续八个扇区组成一个block)
      • IO Block:每个数据块的大小(单位:B)
      • regular file:普通文件(此处显示文件的类型)
      • Inode:文件的Inode号
      • Links:硬链接次数
      • Access:权限
      • Uid:(属主id/属主名)
      • Gid:(属组id/属组名)
      • Access:最近访问时间
      • Modify:数据改动时间
      • Change:元数据改动时间以上的参数均属于文件的元数据,元数据即用来描述数据的数据

    时间戳

      

    此处着重说明一下文件的时间戳:

    • Access:Access time(atime),是指取用文件的时间,所谓取用,常见的操作有:使用编辑器查看文件内容,使用cat命令显示文件内容;使用cp命令把该文件(即来源文件)复制成其他文件;或者在这个文件上运用grep、sed、more、less、tail、head等命令,凡是读取文件的操作,均改变文件的Access time
    • Modify:Modify time(mtime),是指修改文件内容的时间,只要文件内容有改动(如使用转向输出或转向附加的方式)或存盘的操作,就会改变文件的Modify time,平常我们使用ls –l查看文件时,显示的时间就是Modify time
    • Change:Change time(ctime),是指文件属性或文件位置改动的时间,如:使用chmod、chown、mv指令集;使用ln做文件的硬是连接,都会改变文件的Change time

    touch命令

    为了更形象地描述时间戳,下面将引入touch命令,通过具体的例子来进行区分:

    touch – change file timestamps(修改文件的时间戳)

      • 用法:touch [OPTION]… FILE…
      • 常用参数:
        -c:指定的文件路径不存在时不予创建
        -a: 仅修改access time
        -m:仅修改modify time
        注意:Change time不能手动指定
        -t:修改Access time和Modify time为指定时间,格式为:[[CC]YY]MMDDhhmm[.ss](年月日时分.秒)
    • 示例:
    1. 首先使用touch命令创建一个空文件(touch + 文件名,当文件不存在时,可以用于创建空文件)

      

      2. 使用touch -a 1,修改1的Access时间为当前系统时间

       

       这时我们发现文件的Change time一同被改变了,因为Access time属于文件元数据中的一项,当Access time被修改时,文件的属性也被改动

  • 相关阅读:
    Computer Vision: Algorithms and ApplicationsのImage processing
    LOJ6079「2017 山东一轮集训 Day7」养猫
    网络七层协议及其作用
    观察者模式深度剖析
    NIO 中的读和写
    NIO的通道和缓冲区
    NIO简介
    使用OutputStream向屏幕上输出内容
    对象的序列化
    PushBackInputStream回退流
  • 原文地址:https://www.cnblogs.com/api5253/p/13172587.html
Copyright © 2020-2023  润新知