For the complete documentation index, see llms.txt. This page is also available as Markdown.

touch(1)

touch — 更改文件访问和修改时间

名称

touch

概要

touch [-A [-][[hh]mm]SS] [-achm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] [-d YYYY-MM-DDThh:mm:SS[.frac][tz]] file

描述

touch 实用程序设置文件的修改时间和访问时间。如果任何文件不存在,则以默认权限创建。

默认情况下,touch 同时更改修改时间和访问时间。可使用 -a-m 标志单独选择访问时间或修改时间。同时选择两者等同于默认行为。默认情况下,时间戳设为当前时间。-d-t 标志显式指定不同的时间,-r 标志指定将时间设为指定文件的时间。-A 标志按指定量调整值。

以下选项可用:

-A 按指定值调整文件的访问和修改时间戳。此标志用于修改时间戳设置错误的文件。参数格式为“[-][[hh]mm]SS”,其中每对字母表示如下:

- 使调整为负值:新时间戳设为旧时间戳之前。

hh 小时数,从 00 到 99。

mm 分钟数,从 00 到 59。

SS 秒数,从 00 到 59。

-A 标志隐含 -c 标志:如果指定的任何文件不存在,将静默忽略。

-a 更改文件的访问时间。除非同时指定了 -m 标志,否则不更改文件的修改时间。

-c 如果文件不存在则不创建。touch 实用程序不将此视为错误。不显示错误消息,退出值不受影响。

-d 将访问和修改时间更改为指定的日期时间,而非当前时间。参数格式为“YYYY-MM-DDThh:mm:SS[.frac][tz]”,其中各字母表示如下:

YYYY 至少四位十进制数字表示年份。

MM, DD, hh, mm, SS-t 时间相同。

T 字母 T 或空格为时间指示符。

.frac 可选小数部分,由句点或逗号后跟一位或多位数字组成。有效位数取决于内核配置和文件系统,可能为零。

tz 可选字母 Z 表示时间为 UTC。否则,假定时间为本地时间。本地时间受 TZ 环境变量的值影响。

-h 如果文件是符号链接,更改链接自身的时间,而非链接所指向文件的时间。注意,-h 隐含 -c,因此不会创建任何新文件。

-m 更改文件的修改时间。除非同时指定了 -a 标志,否则不更改文件的访问时间。

-r 使用指定文件的访问和修改时间,而非当前时间。

-t 将访问和修改时间更改为指定时间,而非当前时间。参数格式为“[[CC]YY]MMDDhhmm[.SS]”,其中每对字母表示如下:

CC 年份的前两位数字(世纪)。

YY 年份的后两位数字。如果指定了“YY”但未指定“CC”,“YY”值在 69 到 99 之间时,“CC”值为 19。否则,“CC”值为 20。

MM 年中的月份,从 01 到 12。

DD 月中的日期,从 01 到 31。

hh 天中的小时,从 00 到 23。

mm 小时中的分钟,从 00 到 59。

SS 分钟中的秒,从 00 到 60。

如果未指定“CC”和“YY”字母对,值默认为当前年份。如果未指定“SS”字母对,值默认为 0。

退出状态

touch 实用程序成功时退出 0,发生错误时退出 >0。

兼容性

支持 touch 的过时形式,即时间格式作为第一个参数指定。当未指定 -r-t 选项、至少有两个参数且第一个参数是八位或十位数字字符串时,第一个参数被解释为“MMDDhhmm[YY]”格式的时间规范。

“MM”、“DD”、“hh”和“mm”字母对的处理方式与指定给 -t 选项的对应项相同。如果“YY”字母对在 39 到 99 范围内,年份设为 1939 到 1999;否则,年份设为 21 世纪。

参见

utimensat(2)

标准

touch 实用程序预期为 IEEE Std 1003.2 ("POSIX.2") 规范的超集。

历史

touch 实用程序出现于 Version 7 AT&T UNIX。

最后更新于

这有帮助吗?