man手册里,对stat的描述是[display file or file system status],描述文件和文件属性信息,inode信息
stat命令显示出来的信息:
-
File:文件名 -
Size:文件大小 -
Blocks:文件使用的数据块数 -
IO Block:IO块大小 -
regular file:文件类型为常规文件 -
Device:设备编号 -
Inode:inode号 -
Links:链接数 -
Access:文件的权限 -
Gid Uid:文件所有的组ID和所有者ID -
Access Time:文件的访问时间。当文件内容被访问时,更新这个时间 -
Modify Tiem:文件内容的修改时间,当文件的数据内容被修改时,更新这个时间 -
Change Time:文件的状态时间,当文件的状态被修改时,更新这个时间,如以上所有信息
文件的三个时间
Access Time Modify Tiem Change Time
最开始的时候这三个时间是一样的,因为是创建文件的同时修改了它的内容,相当于一次访问,所以在创建成功退出后三个时间一致
cat 命令查看文件内容,访问了文件内容,所以访问时间Access Time更新
使用echo想文件写入了hi,发现不止Modify Tiem被更新了,Change Time也更新了,为啥?
Change Time在文件大小什么发生变化是会被更新,在写入内容时,这些信息变了呀
使用chmod修改文件权限后,状态时间更新
touch命令
touch命令除了用来创建文件,还可以修改文件的时间戳
-
-a更改文件的访问时间 -
-m更改文件的修改时间 -
-d -t使用指定的日期时间,而非现在的时间
touch -a 修改文件的访问时间Access Time,结果状态时间Change Time也发生了变化,不难想到,因为文件的访问信息Access Time变化了,文件的状态改变了,所以状态时间Change Time自己就更新了
和上面的一样,这个就很好理解了
如果有什么不对的地方,可以评论告诉我,望指导!