更新文件时间戳或创建新文件 touch

  文件有三个主要变动时间:

  modification time (mtime): 当文件内容数据被改变时,更新时间

  status time (ctime): 当文件权限和属性被改变时,更新时间

  access time (atime): 当文件被访问时,更新时间 

 

touch [-acdmt] 文件

参数:

-a: 仅修改访问时间

-c: 仅修改文件的时间,若该文件不存在则不创建新文件

-d: --date=日期和时间 指定要设定的修改日期时间

-m: 仅修改mtime

-t: 后面可以接要修改的时间格式为[YYMMDDhhmm]

示例

#文件不存在则创建新的空文件
# ls默认显示的时间是文件的mtime
[roger@oc3137372501 test]$ touch test_touch
[roger@oc3137372501 test]$ ll
total 0
-rw-rw-r--. 1 roger roger 0 Aug 25 10:49 test_touch
 
#查看文件时间
[roger@oc3137372501 test]$ stat test_touch 
  File: `test_touch'
  Size: 0         Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769dInode: 1048609     Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  500/   roger)   Gid: (  500/   roger)
Access: 2015-08-25 10:49:25.663413029 +0800
Modify: 2015-08-25 10:49:25.663413029 +0800
Change: 2015-08-25 10:49:25.663413029 +0800
 
# 查看一下文件内容,更新了atime
[roger@oc3137372501 test]$ cat test_touch 
[roger@oc3137372501 test]$ stat test_touch 
  File: `test_touch'
  Size: 0         Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769dInode: 1048609     Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  500/   roger)   Gid: (  500/   roger)
Access: 2015-08-25 10:55:47.721125941 +0800
Modify: 2015-08-25 10:49:25.663413029 +0800
Change: 2015-08-25 10:49:25.663413029 +0800
 
# atime和mtime被更新成指定时间,ctime更新为当前时间
[roger@oc3137372501 test]$ touch -t 1409111008 test_touch 
[roger@oc3137372501 test]$ stat test_touch 
  File: `test_touch'
  Size: 0         Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769dInode: 1048609     Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  500/   roger)   Gid: (  500/   roger)
Access: 2014-09-11 10:08:00.000000000 +0800
Modify: 2014-09-11 10:08:00.000000000 +0800
Change: 2015-08-25 11:02:02.444495259 +0800


touch 常用的两个功能

创建一个空文件

将某个文件日期修改为当前日期(mtime 和 atime )


如有错误,敬请指正!

谢谢!