假如我们想要将访问时间和修改时间改为2017年1月12日 09:58:27。我们可以用下列命令来完成:
touch -t 201701120958.27 test1.txt
[root@Linuxidc tmp]# touch -t 201701120958 test1.txt
[root@Linuxidc tmp]# stat test1.txt
文件:"test1.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:803h/2051d Inode:11041 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2017-01-12 09:58:00.000000000 +0800
最近更改:2017-01-12 09:58:00.000000000 +0800
最近改动:2019-05-30 15:36:43.837822257 +0800
创建时间:-
-t 选项语法组成 :
[[CC]YY]MMDDhhmm [.SS]
CC - 年份的前两位 YY - 年份的后两位
MM - 月份 [01-12]
DD - 日期 [01-31]
hh - 时 [00-23]
mm - 分 [00-59]
SS - 秒 [00-61]
这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch 将把年数CCYY限定在1969--2068之内.MM为月数,DD为天将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时间.由于系统的限制,早于1970年1月1日的时间是错误的.
实例十一:改变日期和时间的另一种方式
如果你觉得[[CC]YY]MMDDhhmm [.SS]格式不适合你,我们也可以使用 -d 选项。下面是-d选项使用的一个示例。
举例来说,我们有个名为 test3.txt 的文件,它的相关属性在下面的截图中展示了。
[root@Linuxidc tmp]# stat test3.txt
文件:"test3.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:803h/2051d Inode:11044 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2016-10-13 00:00:00.000000000 +0800
最近更改:2016-10-13 00:00:00.000000000 +0800
最近改动:2019-05-30 15:11:35.285472753 +0800
创建时间:-
现在我们要将日期2017年1月14日改为2013年12月20日。可以使用下列命令:
$ touch -d '10-December-2013' test3.txt
[root@Linuxidc tmp]# touch -d '10-December-2013' test3.txt
[root@Linuxidc tmp]# stat test3.txt
文件:"test3.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:803h/2051d Inode:11044 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2013-12-10 00:00:00.000000000 +0800
最近更改:2013-12-10 00:00:00.000000000 +0800
最近改动:2019-05-30 16:22:21.647100822 +0800
创建时间:-
不出意料,访问时间和修改时间的日期已经改为了2013年12月10日。
实例十二:改变时区
如果我们想改变指定GMT的时间,我们也可以使用-d选项。
touch file_3.txt
[root@Linuxidc tmp]# touch test3.txt
[root@Linuxidc tmp]# stat test3.txt
文件:"test3.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:803h/2051d Inode:11044 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2019-05-30 16:23:50.453099824 +0800
最近更改:2019-05-30 16:23:50.453099824 +0800
最近改动:2019-05-30 16:23:50.453099824 +0800
创建时间:-
不难发现 test3.txt 的时区为 GMT +0800。要改为 GMT3 时区,我们只需要键入如下命令:
touch -d GMT3 test3.txt
[root@Linuxidc tmp]# touch -d GMT3 test3.txt
[root@Linuxidc tmp]# stat test3.txt
文件:"test3.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:803h/2051d Inode:11044 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2019-05-30 11:00:00.000000000 +0800
最近更改:2019-05-30 11:00:00.000000000 +0800
最近改动:2019-05-30 16:25:25.496878027 +0800
创建时间:-
好的,现在时间已经改为了 11:00:00 AM。
实例十三:结合参数下使用-d选项