touch [-acm] [-r ref_file | -t time | -d date_time] file...
touch [-acm] [time_spec ] file...
settime [-f ref_file ] [time_spec] file...
touch 实用程序可设置每个文件的访问时间和修改时间。如果 file 操作数尚未存在,则会创建该操作数。
使用的时间可由 –t time、–d date_time、–r ref_file 引用的文件的相应时间字段或 time_spec 操作数指定。如果这些均未指定,touch 将使用当前时间。
如果 –a 和 –m 选项均未指定,touch 将更新修改时间和访问时间。
如果用户对某个文件具有写入访问权限,但不是该文件的所有者或超级用户,则只能将该文件的修改时间和访问时间更改为当前时间。尝试使用 touch 设置特定时间会导致错误。
settime 实用程序等效于 touch –c [time_spec] file。
touch 和 settime 实用程序支持以下选项:
touch 实用程序支持以下选项:
更改 file 的访问时间。除非也指定了 –m,否则不会更改修改时间。
如果指定的 file 不存在,则不会创建它。不会写入关于这种情况的任何诊断消息。
使用指定的 date_time 而非当前时间。选项参数必须是以下格式的字符串:
YYYY-MM-DDThh: mm:SS[.frac][ tz]
或
YYYY-MM- DDThh:mm:SS[, frac][tz]
其中
YYYY 是至少四个十进制数字,表示年份
MM、DD、hh、mm 和 SS 与 –t time 一样
T 是字母 T 或单个 SPACE 字符
[.frac] 和 [,frac] 可以为空,也可以分别是句点 (.) 或逗号 (,),后跟一个或多个十进制数字,指定小数形式的秒
[tz] 可以为空,表示本地时间,也可以是字母 Z,表示 UTC。如果 [tz] 为空,则得到的时间受 TZ 环境变量值的影响
更改 file 的修改时间。除非也指定了 –a,否则不会更改访问时间。
使用 ref_file 指定的文件的相应时间而非当前时间。
使用指定的 time 而非当前时间。time 是以下格式的十进制数字:
[[CC]YY] MMDDhhmm[.SS]
其中每个两位数字表示以下内容:
年中某月 [01-12]。
月中某日 [01-31]。
日中某时 [00-23]。
时中某分 [00-59]。
年份的前两位数字。
年份的后两位数字。
分中某秒 [00-61]。
CC 和 YY 均为可选内容。如果均未指定,则假定使用当前年份。如果指定了 YY 但未指定 CC,将按如下方式推导 CC:
|
得到的时间受 TZ 环境变量值的影响。有效时间范围是自新纪元起到 2038 年 1 月 18 日。
SS 范围是 [00-61] 而非 [00-59],因为存在闰秒现象。如果 SS 为 60 或 61,则得到的时间(受 TZ 环境变量的影响)并不是指闰秒,得到的时间是 SS 为 59 后的一秒或两秒。如果未指定 SS,则假定为 0。
settime 实用程序支持以下选项:
使用 ref_file 指定的文件的相应时间而非当前时间。
touch 和 settime 实用程序支持以下操作数:
要修改其时间的文件的路径名。
使用指定的 time_spec 而非当前时间。该操作数是以下格式的十进制数字:
MMDDhhmm[YY]
其中每个两位数字表示以下内容:
年中某月 [01-12]。
月中某日 [01-31]。
日中某时 [00-23]。
时中某分 [00-59]。
年份的后两位数字。
YY 是可选内容。如果将其省略,则假定使用当前年份。如果指定了 YY,将按如下方式推导年份:
|
如果未指定 –d、–r 或 –t 选项,指定了至少两个操作数而且第一个操作数是八位或十位十进制整数,则假定第一个操作数为 time_spec 操作数。否则,假定第一个操作数为 file 操作数。
有关 touch 遇到大于或等于 2 GB(231 字节)文件时行为的说明,请参见 largefile(5)。
有关影响 touch 执行的环境变量 LANG、LC_ALL、LC_CTYPE、LANG、LC_CTYPE、LC_MESSAGES 和 NLSPATH 的说明,请参见 environ(5)。
确定用于解释 time 或 date_time 选项参数或者 time_spec 操作数的时区。
将返回以下退出值:
touch 实用程序已成功执行,请求的所有更改都已完成。
出现错误。touch 实用程序返回了无法成功修改其时间的文件的数目。
有关下列属性的说明,请参见 attributes(5):
|
futimens(2)、stat(2)、attributes(5)、environ(5)、largefile(5)、standards(5)
熟悉 BSD 环境的用户发现,使用 touch 实用程序时,将接受但会忽略 –f 选项。无需使用 –f 选项,因为无论用户对文件有何种权限,touch 都能成功处理其拥有的所有文件。