Linux文件的元数据信息以及如何修改文件的时间戳信息

文件系统中的数据分为两类,分别是数据和元数据。
数据:指的是普通文件中的实际数据;
元数据:指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者、以及文件数据块的分布信息等等;
stat命令的作用为显示文件的状态信息,输出的信息比ls命令输出的信息更加详细。`

[root@localhost ~]# stat /tmp/test.file 
  File: ‘/tmp/test.file’
  Size: 11        	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 33554834    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2019-05-18 15:28:12.955953654 +0800
Modify: 2014-04-17 14:14:22.000000000 +0800
Change: 2019-05-18 15:32:07.000935686 +0800
 Birth: -
[root@localhost ~]# 

stat命令显示文件源数据信息各个指标解释
File:文件名称;
Size:文件大小;
Blocks:占用的磁盘块数;
IO Block:IO块大小;
regular file:这里是显示文件的类型,这是一个普通文件
Device:所在设备;
Inode:Inode节点号;
Links:被链接的次数;
Access(第一个):访问权限;
Uid:uid号和属主;
Gid:gid号和属组;
Access(第二个):文件最近一次的访问时间;
Modify:文件的修改时间;
Chang:文件的改变时间。

文件的时间戳修改需要用touch命令进行修改,touch命令格式如下:
touch命令: touch - change file timestamps
touch [OPTION]… FILE… 需要注意的是Changetime无法指定进行修改,在atime以及mtime修改后,ctime自动进行更新。
-c: 指定的文件路径不存在时不予创建;
-a: 仅修改access time;
-m:仅修改modify time;
-t STAMP
[[CC]YY]MMDDhhmm[.ss]

文件的三个时间戳详细介绍如下:

  1. atime:访问时间:读一次文件的内容,这个时间就会更新。比如more、cat等命令。ls、stat命令不会修改atime
  2. mtime:修改时间:修改时间是文件内容最后一次被修改的时间。比如:vim操作后保存文件。ls -l列出的就是这个时间
  3. ctime:状态改动时间。是该文件的inode节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新。

如下/tmp/test.file 文件的三种时间戳以及当前的系统时间如下:

[root@localhost ~]# stat /tmp/test.file 
  File: ‘/tmp/test.file’
  Size: 11        	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 33554834    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2019-05-18 15:28:12.955953654 +0800
Modify: 2014-04-17 14:14:22.000000000 +0800
Change: 2019-05-18 15:32:07.000935686 +0800
 Birth: -
[root@localhost ~]# date
Sun May 19 16:46:42 CST 2019
[root@localhost ~]# 

示例:
使用cat 命令查看/tmp/test.file 后么文件的atime会自动进行更新。
在这里插入图片描述
将文件内容进行修改,修改后文件的mtime也会进行更新
在这里插入图片描述
文件的inode信息更新回导致ctime会更新,修改test.file文件的权限,文件的ctime进行更新
在这里插入图片描述

使用touch命令修改文件的时间戳信息
touch -a 仅修改atime
在这里插入图片描述
touch -m 仅修改mtime
在这里插入图片描述
touch 指定时间修改对应的时间戳,修改test.file文件的atime时间为2019-05-01 12:12:12.000000000
touch -a -t 201905011212.12 /tmp/test.file
在这里插入图片描述
修改test.file文件的mtime时间为2015-05-04 11:11:11.000000000
touch -m -t 201505041111.00 /tmp/test.file
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值