Linux时间戳 atime mtime ctime inode block

Linux时间戳

基本概念

Linux 中的每个文件和目录都有三种主要的时间戳:

atime(access time):最后访问时间
mtime(modify time):最后修改时间(block)
ctime(change time):状态改变时间(inode)

与ctime mtime 相关的inode、block基本概念建议参考这篇博客
Linux 文件系统 inode block 介绍 位图功能 软链接 硬链接 特点与区别

stat 读取文件时间戳
在这里插入图片描述
时间顺序从上至下依次为 access time、 modify time、 change time

touch 更新文件时间戳
在这里插入图片描述

stat test
touch test

atime(access time)

概念

atime是指access time,访问时间,即文件被读取或者执行的时间;
通过 ls -lu 查看 access time

ls -lu

修改

access time的修改方式:
 读取文件内容(如cat、less)
 文件被调用执行
 被其他程序作为输入读取

mtime(modify time)

概念

mtime即modify time,指文件内容被修改的时间
文件内容指的是文件的数据块(block)

数据块(block):
不同数据块存储的内容不同

数据块​​:存储文件的实际内容(如文本、图片二进制数据等)。
​​目录块​​:存储目录下的文件名和对应 inode 号的映射表(如 ls命令读取的内容)。
间接块​​:当文件较大时,存储额外的数据块指针(扩展 inode 的寻址能力)。
特殊块​​:如符号链接的路径名(若较短可能直接存在 inode 中)。

通过 ls -l 查看 modify time

ls -l

修改

文件modify time自然更新的情况下 必然会更新文件change time
因为修改文件内容(block)会影响元数据(inode)中的文件大小、数据块的分配状态(例如扩展或收缩文件)等。

mtime的修改方式
 修改文件内容
  vi test
  echo “old” >>test
  sed -i ‘s/old/new/’ test

vi test
echo "old" >>test
sed -i 's/old/new' test

ctime(change time)

概念

ctime即change time文件状态改变时间
文件状态指的是文件的元数据(inode)

元数据(inode):
1.block编号 2.文件类型 3.文件权限
4.文件所有者 5.文件的大小 6.文件的时间戳
7.硬链接计数

当文件的元数据,例如文件大小,文件所属用户/用户组被修改时,会更新ctime

通过 ls -lc 查看 change time

ls -lc

修改

change time的修改方式
1.只修改文件元数据(inode)内容
 修改文件权限 chmod 777 code
 修改文件所属用户 chown root code
 创建硬链接 ln code test
 文件重命名 mv code test1

touch code
chmod 777 code
chown root code
ln code test
mv code test1

2.同时修改文件元数据(inode)、数据块(block)内容
 修改文件内容
  vi test
  echo “old” >>test
  sed -i ‘s/old/new/’ test

vi test
echo "old" >>test
sed -i 's/old/new' test
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值