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和所有者IDAccess 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自己就更新了
和上面的一样,这个就很好理解了
如果有什么不对的地方,可以评论告诉我,望指导!