linux文件的组成
文件由数据与元数据组成;
数据就是文件的内容,元数据就是文件的属性信息,如权限、大小、名称、时间戳、所有者、所属组、inode等。
查看元数据的命令
ls可以搭配-l -h等参数查看文件的权限、大小、修改时间等信息;
stat命令,较全面的显示文件的元数据,特别是时间戳信息,如下:
[root@use09 ~]# stat anaconda-ks.cfg
File: ‘anaconda-ks.cfg’
Size: 1515 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 33574979 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-04-20 09:51:47.173763559 +0800
Modify: 2020-04-20 09:51:47.175763559 +0800
Change: 2020-04-20 09:51:47.175763559 +0800
Birth: -
时间戳
在linux里文件有三个时间信息,access time(访问时间)、modify time(修改时间)、change time(改变时间)
access time
访问时间,可以理解为查看文件时间;
modify time
修改时间,就是发生文件内空修改的时间;
change time
改变时间,文件数据或元数据发生改变时的时间;
如何修改时间戳
通过touch命令可以修改access time\modify time\change time,在不加参数情况下touch会修改三个时间,但可通过参数指定影响的时间,如下:
-a修改access time
[root@use09 tmp]# touch -a test.txt
-m修改modfiy time
[root@use09 tmp]# touch -m test.txt
-t指定时间戳,时间格式为[[CC]YY]MMDDhhmm[.ss]
[root@use09 tmp]# touch -m -t 201904212218.20 test.txt
补充
change time
由于不管理数据,还是元数据发生改变change time都会受到影响,因此一般不太关注change time,并且也不会去修改change time。