通过touch这个命令,我们可以轻易修改文件的日期与时间,并且也可以创建一个空的文件。不过,要注意的是,即使我们复制一个文件时,复制了所有的属性,但也没有办法复制ctime这个属性的。ctime可以记录这个文件最近的状态(status)被改变的时间。无论如何,还是要告知大家,我们平时看的文件属性中,比较重要的还是属于那个mtime。我们经常关心的是这个文件的“内容”是什么时候被改动过的。
无论如何,touch这个命令最常被使用的情况是:
创建一个空的文件;
将某个文件日期修改为目前的日期(mtime与atime)。
命令格式:
touch [选项]... 文件...
命令参数:
-a 仅修改访问时间。
-c 仅修改文件的时间,不建立任何文件。
-d 后面可以接欲修改的日期而不用当前的日期,可以使用各种不同的格式。
-f 不使用,是为了与其他 unix 系统的相容性而保留。
-m 只更改变动时间mtime。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间,格式与 date 指令相同。
命令示例:
1.将123.txt文件,日期调整为前二天。当前日期2016.4.22
[root@w zdw]# ll total 4 -rw-r--r--. 1 root root 4 Apr 22 16:49 123.txt 22日 [root@w zdw]# touch -d "2 days ago" 123.txt [root@w zdw]# ll 123.txt; ll --time=atime 123.txt; ll --time=ctime 123.txt -rw-r--r--. 1 root root 4 Apr 20 16:49 123.txt -rw-r--r--. 1 root root 4 Apr 20 16:49 123.txt -rw-r--r--. 1 root root 4 Apr 22 16:49 123.txt
上面的示例,本来是22日的变成了20日(atime/mtime)
不过,ctime并没有跟着改变。
2.将123.txt日期改为2016/4/10 02:03
[root@w zdw]# touch -t 1604100203 123.txt [root@w zdw]# ll 123.txt; ll --time=atime 123.txt; ll --time=ctime 123.txt -rw-r--r--. 1 root root 4 Apr 10 02:03 123.txt -rw-r--r--. 1 root root 4 Apr 10 02:03 123.txt -rw-r--r--. 1 root root 4 Apr 22 16:57 123.txt
日期atime与mtime都改变了,但是ctime则是记录目前的时间。
3.-c参数,如果文件不存在,则不创建
[root@w zdw]# touch -c 456.txt [root@w zdw]# ll total 4 -rw-r--r--. 1 root root 4 Apr 10 02:03 123.txt
4.-r参数,更新123.txt时间和456.txt时间戳相同,以123.txt时间为准
[root@w zdw]# touch 456.txt [root@w zdw]# ll total 4 -rw-r--r--. 1 root root 4 Apr 10 02:03 123.txt -rw-r--r--. 1 root root 0 Apr 22 17:03 456.txt [root@w zdw]# touch -r 123.txt 456.txt [root@w zdw]# ll total 4 -rw-r--r--. 1 root root 4 Apr 10 02:03 123.txt -rw-r--r--. 1 root root 0 Apr 10 02:03 456.txt
本文出自 “赵东伟的博客” 博客,请务必保留此出处http://zhaodongwei.blog.51cto.com/4233742/1871243
原文地址:http://zhaodongwei.blog.51cto.com/4233742/1871243