文件系统中的数据分为两类,分别是数据和元数据。
数据:指的是普通文件中的实际数据;
元数据:指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者、以及文件数据块的分布信息等等;
stat命令的作用为显示文件的状态信息,输出的信息比ls命令输出的信息更加详细。`
[root@localhost ~]# stat /tmp/test.file
File: ‘/tmp/test.file’
Size: 11 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 33554834 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2019-05-18 15:28:12.955953654 +0800
Modify: 2014-04-17 14:14:22.000000000 +0800
Change: 2019-05-18 15:32:07.000935686 +0800
Birth: -
[root@localhost ~]#
stat命令显示文件源数据信息各个指标解释
File:文件名称;
Size:文件大小;
Blocks:占用的磁盘块数;
IO Block:IO块大小;
regular file:这里是显示文件的类型,这是一个普通文件
Device:所在设备;
Inode:Inode节点号;
Links:被链接的次数;
Access(第一个):访问权限;
Uid:uid号和属主;
Gid:gid号和属组;
Access(第二个):文件最近一次的访问时间;
Modify:文件的修改时间;
Chang:文件的改变时间。
文件的时间戳修改需要用touch命令进行修改,touch命令格式如下:
touch命令: touch - change file timestamps
touch [OPTION]… FILE… 需要注意的是Changetime无法指定进行修改,在atime以及mtime修改后,ctime自动进行更新。
-c: 指定的文件路径不存在时不予创建;
-a: 仅修改access time;
-m:仅修改modify time;
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
文件的三个时间戳详细介绍如下:
- atime:访问时间:读一次文件的内容,这个时间就会更新。比如more、cat等命令。ls、stat命令不会修改atime
- mtime:修改时间:修改时间是文件内容最后一次被修改的时间。比如:vim操作后保存文件。ls -l列出的就是这个时间
- ctime:状态改动时间。是该文件的inode节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新。
如下/tmp/test.file 文件的三种时间戳以及当前的系统时间如下:
[root@localhost ~]# stat /tmp/test.file
File: ‘/tmp/test.file’
Size: 11 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 33554834 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2019-05-18 15:28:12.955953654 +0800
Modify: 2014-04-17 14:14:22.000000000 +0800
Change: 2019-05-18 15:32:07.000935686 +0800
Birth: -
[root@localhost ~]# date
Sun May 19 16:46:42 CST 2019
[root@localhost ~]#
示例:
使用cat 命令查看/tmp/test.file 后么文件的atime会自动进行更新。
将文件内容进行修改,修改后文件的mtime也会进行更新
文件的inode信息更新回导致ctime会更新,修改test.file文件的权限,文件的ctime进行更新
使用touch命令修改文件的时间戳信息
touch -a 仅修改atime
touch -m 仅修改mtime
touch 指定时间修改对应的时间戳,修改test.file文件的atime时间为2019-05-01 12:12:12.000000000
touch -a -t 201905011212.12 /tmp/test.file
修改test.file文件的mtime时间为2015-05-04 11:11:11.000000000
touch -m -t 201505041111.00 /tmp/test.file