简明Linux命令行笔记:touch

创建文件或修改文件时间

touch [options] file-list

 

参数

file-listtouch将要创建或更新的文件路径名

 

选项

-a                    只更新访问时间,不改变修改时间

-c                    不创建不存在的文件

-m                   只更新修改时间,不改变访问时间

-r file               使用文件file的时间更新文件的时间

-t                     将时间修改为参数指定的日期,如:07081556代表7月8号15点56分

 

示例

touch 更新已有文件时间

$ ls -l Firefox_wallpaper.png 
-rw-r--r-- 1 siu siu 309597 12月 20 15:03 Firefox_wallpaper.png
$ touch Firefox_wallpaper.png 
$ ls -l Firefox_wallpaper.png 
-rw-r--r-- 1 siu siu 309597  1月  8 15:18 Firefox_wallpaper.png

touch 无选项,会同时更新文件的修改时间和访问时间

 

touch 创建文件

$ touch demo.c
$ ls -l
总用量 372
-rw-r--r-- 1 siu siu      0  1月  8 15:21 demo.c

 

touch -at 使用参数更新访问时间

首先看看原来的修改时间和访问时间,ls -lu用来查看访问时间

$ ls -l
总用量 68
-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log
$ ls -lu
总用量 68
-rw-r--r-- 1 siu siu 66350  1月  8 15:17 hs_err_pid2874.log

接着是更新过后的修改时间和访问时间

复制代码
$ touch -at 01081010 hs_err_pid2874.log 
$ ls -l
总用量 68
-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log
$ ls -lu
总用量 68
-rw-r--r-- 1 siu siu 66350  1月  8 10:10 hs_err_pid2874.log
复制代码

可以看到,修改时间没有变动,但是访问时间改变了

 

touch -m 只更新修改时间

复制代码
$ ls -l
总用量 68
-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log
$ touch -m hs_err_pid2874.log 
$ ls -l
总用量 68
-rw-r--r-- 1 siu siu 66350  1月  8 15:31 hs_err_pid2874.log
$ ls -lu
总用量 68
-rw-r--r-- 1 siu siu 66350  1月  8 10:10 hs_err_pid2874.log
复制代码

由上面的示例可知,此处访问时间没有改变,而修改时间发生了变动

 

Tips

1.可以用默认的当前时间来更新文件的访问时间和修改时间,也可以指定参数来更新

2.通常情况下,touch用的最多的地方还是在于创建新文件

posted @ 2017-01-17 14:14  sunshine_kaka  阅读(297)  评论(0编辑  收藏  举报