文件的元数据信息
文件的数据分为两类:一类为数据,即文件的实际内容;另一类为元数据,用来描述文件属性的数据。
元数据信息包含:
File:文件名
Size:文件大小(单位:B)
Blocks:文件所占块个数
IO Block:每个数据块的大小(单位:B)
regular file:普通文件(此处显示文件的类型)
Inode:文件的Inode号,文件的索引节点号
Links:硬链接次数
Access:权限
Uid:(属主id/属主名)
Gid:(属组id/属组名)
Context:文件所在的环境
Access:最近访问时间access time (atime)
Modify:数据改动时间modification time (mtime)
Change:元数据改动时间status time (ctime)
Creat:文件创建时间
查看文件的元数据的方法:
stat命令:stat – display file or file system status,使用stat 查看文件的元数据
使用语法:stat FILE…
示例:查看/etc/passwd文件的元数据
[root@localhost ~]# stat /etc/passwd
文件:”/etc/passwd”
大小:1309 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:134938285 硬链接:1
权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:passwd_file_t:s0
最近访问:2018-08-20 12:35:01.738182124 +0800
最近更改:2017-01-11 16:28:45.744639498 +0800
最近改动:2017-01-11 16:28:45.747639498 +0800
创建时间:-
修改文件的时间戳的方法:
touch命令:touch – change file timestamps修改时间戳
使用语法: touch [OPTION]… FILE…
注意:~]#touch /tmp/x 当touch的文件不存在时,会在目标目录下创建x空文件
选项:
不跟任何选项时三个时间戳都会被更新为当前时间。
-c: 指定的文件路径不存在时不予创建;
-a: 仅修改access time;
-m:仅修改modify time;
-t :指定改为某一时刻的时间,时间参数格式 [[CC]YY]MMDDhhmm[.ss]
示例:将/tmp/passwd文件的最近更改时间改为2012年5月5日10点10分10秒
~]#touch -m -t 201205051010.10 /tmp/passwd
[root@localhost ~]# stat /tmp/passwd
文件:”/tmp/passwd”
大小:1309 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:655 硬链接:1
权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:user_tmp_t:s0
最近访问:2018-08-20 23:46:29.708198795 +0800
最近更改:2012-05-05 10:10:10.000000000 +0800
最近改动:2018-08-20 23:47:21.255200096 +0800
创建时间:
文件的时间是很重要的,因为,如果文件的时间误判的话,可能会造成某些程序无法顺利的运作。那么万一我发现了一个文件来自未来,该如何让该文件的时间变成『现在』的时刻呢?就用touch这个指令即可。不要怀疑系统时间会『来自未来』!很多时候会有这个问题的!举例来说在安装时选错了时区,导致系统时间比现实时间快,若此时创建了文件,再你将系统时间修改成现实时间后,那么你之前创建的文件就是来自未来的。
至于某些情况下,由于 BIOS 的设定错误,导致系统时间跑到未来时间,并且你又建立了某些文件。 等你将时间改回正确的时间时,该文件不就变成来自未来了。
touch 这个指令最常被使用的情况是:
建立一个空的文件;
将某个文件日期修订为目前 (mtime 与 atime)
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/112413