linux系统文件的元数据&时间戳
什么是元数据
文件的数据分两种:
一种元数据,既属性数据:metadata
一种就是数据本身:data
文件时间戳
atime:访问时间(access time),指的是文件最后被读取的时间,可以使用touch命令更改为当前时间;
ctime:变更时间(change time),指的是文件本身最后被变更的时间,变更动作可以使chmod、chgrp、mv等等;
mtime:修改时间(modify time),指的是文件内容最后被修改的时间,修改动作可以使echo重定向、vi等等;
如何查看元数据&时间戳
stat
stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。
语法
stat(选项)(参数)
选项
-L:支持符号连接;
-f:显示文件系统状态而非文件状态;
-t:以简洁方式输出信息;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。
参数
文件:指定要显示信息的普通文件或者文件系统对应的设备文件名
实例
stat命令用于显示文件的状态信息
[root@localhost ~]# stat /tmp/mylinux
File: ‘/tmp/mylinux’
Size: 143 Blocks: 0 IO Block: 4096 directory
Device: fd00h/64768d Inode: 277403 Links: 14
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2018-03-11 22:52:35.214307783 +0800
Modify: 2018-03-11 22:51:01.463298567 +0800
Change: 2018-03-11 22:51:01.463298567 +0800
Birth: -
- file:文件名
- size:文件大小
- block:文件占了多少个数据块
- IO Block:文件所占数据块的块大小
- Device:硬件,既说明该文件在硬盘的那个柱面
- Inode:节点号
- links:链接
- Access(第一个):权限
- Uid:该文件所属的属主
- Gid:该文件所属的属组
- context:安全上下文
- Access(第二个):文件上一次的访问时间
- Modify:文件上一次修改的时间
- Change:文件上一次属性更改的时间
如何修改文件的时间戳
touch
touch命令可以把已存在文件的时间标签更新为系统当前的时间(默认方式)
语法
touch(选项)(参数)
选项
-a:或--time=atime或--time=access或--time=use 只更改存取时间;
-c:或--no-create 不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或--time=mtime或--time=modify 只更该变动时间;
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
--help:在线帮助;
--version:显示版本信息。
参数
文件:指定要设置时间属性的文件列表。
修改时间戳
-
改变访问时间
[root@localhost ~]# touch -a /tmp/mylinux [root@localhost ~]# stat /tmp/mylinux File: ‘/tmp/mylinux’ Size: 143 Blocks: 0 IO Block: 4096 directory Device: fd00h/64768d Inode: 277403 Links: 14 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:user_tmp_t:s0 Access: 2018-03-11 23:27:46.034515281 +0800 Modify: 2018-03-11 23:21:07.508476105 +0800 Change: 2018-03-11 23:27:46.034515281 +0800
-
改变修改时间
[root@localhost ~]# touch -m /tmp/mylinux [root@localhost ~]# stat /tmp/mylinux File: ‘/tmp/mylinux’ Size: 143 Blocks: 0 IO Block: 4096 directory Device: fd00h/64768d Inode: 277403 Links: 14 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:user_tmp_t:s0 Access: 2018-03-11 23:27:46.034515281 +0800 Modify: 2018-03-11 23:28:34.661520061 +0800 Change: 2018-03-11 23:28:34.661520061 +0800 Birth: -
-
自定义改变时间戳
[root@localhost ~]# touch -t 201803102329.30 /tmp/mylinuxd [root@localhost ~]# stat /tmp/mylinux File: ‘/tmp/mylinux’ Size: 143 Blocks: 0 IO Block: 4096 directory Device: fd00h/64768d Inode: 277403 Links: 14 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:user_tmp_t:s0 Access: 2018-03-11 23:27:46.034515281 +0800 Modify: 2018-03-11 23:28:34.661520061 +0800 Change: 2018-03-11 23:28:34.661520061 +0800 Birth: -