touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。
1.命令格式:
touch [选项]… 文件…
2.命令功能:
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。
3.命令参数:
-a 或–time=atime或–time=access或–time=use change only the access time
-c 或–no-create 不建立任何文档。
-d,–date=STRING 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或–time=mtime或–time=modify change only the modification time
-r,–reference=FILE 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time
4. 常用范例:
例1:创建不存在的文件,一个或者多个
[root@localhost ~]#ls a.txt c d [root@localhost ~]#touch test [root@localhost ~]#ls a.txt c d test [root@localhost ~]#touch test1 test2 [root@localhost ~]#ls a.txt c d test test1 test2
例2:将文件test2和文件c的时间戳更新为当前时间
[root@localhost ~]#ll total 4 -rw-r--r-- 1 root root 0 Mar 14 00:43 a.txt -rw-r--r-- 1 root root 7 Mar 13 23:44 c -rw-r--r-- 1 root root 0 Mar 14 00:43 test2 [root@localhost ~]#touch test2 c [root@localhost ~]#ll total 4 -rw-r--r-- 1 root root 0 Mar 14 00:43 a.txt -rw-r--r-- 1 root root 7 Mar 14 00:44 c -rw-r--r-- 1 root root 0 Mar 14 00:44 test2
例3:-r,将某个文件作为参考修改时间,将文件test2的时间戳修改为和/etc/centos-release文件时间戳相同
[root@localhost ~]#ll -rw-r--r-- 1 root root 0 Mar 14 00:48 test2 [root@localhost ~]#ll /etc/centos-release -rw-r--r--. 1 root root 27 May 19 2016 /etc/centos-release [root@localhost ~]#touch -r /etc/centos-release test2 [root@localhost ~]#ll -rw-r--r-- 1 root root 0 May 19 2016 test2
例4:-t,设定为指定的时间
[root@localhost ~]#ll -rw-r--r-- 1 root root 0 Mar 14 00:41 test1 -rw-r--r-- 1 root root 0 May 19 2016 test2 [root@localhost ~]#touch -t 201408050909.09 test1 [root@localhost ~]#ll -rw-r--r-- 1 root root 0 Aug 5 2014 test1 -rw-r--r-- 1 root root 0 May 19 2016 test2
例5:也就是说,这里详细显示的时间是修改时间,不是访问时间
[root@localhost ~]#ll -rw-r--r-- 1 root root 0 Aug 5 2014 test1 [root@localhost ~]#touch -a test1 [root@localhost ~]#ll -rw-r--r-- 1 root root 0 Aug 5 2014 test1 [root@localhost ~]#touch -c test1 [root@localhost ~]#ll -rw-r--r-- 1 root root 0 Mar 14 00:58 test1
–
–
–
评论前必须登录!
注册