创建新的空文件和更新文件时间戳
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
touch <options> <file or directory name>
-a:或--time=atime或--time=access或--time=use 只修改访问时间
-c:或--no-create 如果文件不存在,不创建新文件
-d:<时间日期> 使用指定的日期时间,而非现在的时间
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
-m:或--time=mtime或--time=modify 只修改修改时间
-r:<参考文件或目录> 将时间戳更改为参考文件的时间戳
-t:<日期时间> 修改时间戳,其中时间戳是日期/时间格式
--help:在线帮助;
--version:显示版本信息。
最简单的使用touch命令的方式是不带任何选项:
$ touch filename
如果文件不存在,touch会创建该文件。如果文件已经存在,touch会将时间戳更改为当前时间。
touch命令也可以一次创建多个文件。要做到这一点,只需列出文件名,文件名之间用空格分隔:
$ touch filename1 filename2
touch命令的-a选项可以用来修改文件的访问时间。以下是一个例子:
$ touch -a filename
这个命令会将文件的访问时间更新为当前时间,但不会改变文件的修改时间。
touch命令的-m选项可以用来修改文件的修改时间。以下是一个例子:
$ touch -m filename
这个命令会将文件的修改时间更新为当前时间,但不会改变文件的访问时间。
touch命令的-t选项可以用来设置特定的时间戳。以下是一个例子:
$ touch -t 202401251520 filename
这个命令会将文件的访问时间和修改时间都设置为2024年1月25日15点20分。
touch命令的-c选项可以用来在不创建新文件的情况下更新现有文件的时间戳。以下是一个例子:
$ touch -c filename
如果文件不存在,这个命令不会创建新文件。如果文件已经存在,这个命令会将文件的时间戳更新为当前时间。
touch命令的-r选项可以用来复制另一个文件的时间戳。以下是一个例子:
$ touch -r referencefile filename
这个命令会将filename的时间戳设置为referencefile的时间戳。
touch命令的-d选项可以用来设置特定的日期和时间。以下是一个例子:
$ touch -d '1 May 2024 15:20' filename