3.6 touch命令:修改文件的时间戳
touch 的意思是触摸,如果文件不存在,则会建立空文件;如果文件已经存在,则会修改文件的时间戳(访问时间、数据修改时间、状态修改时间都会改变)。
千万不要把 touch 命令当成新建文件的命令,牢牢记住这是触摸的意思。这个命令的基本信息如下:
- 命令名称:touch。
- 英文原意:change file timestamps。
- 所在路径:/bin/touch。
- 执行权限:所有用户。
- 功能描述:修改文件的时间戳。
命令格式
[root@localhost -]# touch [选项]文件名或目录名
选项:
- -a:只修改文件的访问时间(Access Time)
- -c:如果文件不存在,则不建立新文件
- -d:把文件的时间改为指定的时间
- -m:只修改文件的数据修改时间(Modify Time)
Linux 中的每个文件都有三个时间,分别是访问时间(Access Time)、数据修改时间(Modify Time)和状态修改时间(Change Time)。这三个时间可以通过 stat 命令来进行査看。
不过,touch 命令只能手工指定只修改访问时间,或是只修改数据修改时间,而不能指定只修改状态修改时间。因为不论是修改访问时间,还是修改文件的数据时间,对文件来讲,状态都会发生改变,即状态修改时间会随之改变。我们稍后讲 stat 命令时再具体举例。
注意,在Linux中,文件没有创建时间。
常见用法
[root@localhost ~]#touch bols
#建立名为 bols 的空文件
如果文件不存在,则会建立文件。
[root@localhost ~]#touch bols
[root@localhost ~]#touch bols
#而如果文件已经存在,则也不会报错,只是会修改文件的访问时间