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
1万+

被折叠的 条评论
为什么被折叠?



