touch 命令
用途
更新文件的访问和修改时间。
语法
touch [ -a ] [ -c ] [ -m ] [ -f ] [ -r RefFile ] [ Time | -t Time | -d date_time] { File ... | Directory ...}
注意:上述语法仅适用于AIX®操作系统未启用UNIX03模式的情况。
触碰 [- C M F] [- ref_file | -t time | -d 日期时间 ] 文件... | 目录
注: 仅当启用了 UNIX03 方式时,上述语法才适用。 要在 AIX 操作系统中启用 UNIX03 方式,必须将 XPG_SUS_ENV 环境变量的值设置为 ON。
描述
touch 命令更新由 Directory 参数指定的每个目录下的由 File 参数指定的每个文件的访问和修改时间。 如果没有指定 Time 变量值,touch 命令就使用当前时间。 如果指定不存在的文件, touch 命令将创建该文件,除非指定 -c 标志。
touch 命令的返回码是时间没有被成功修改的文件数目(包括不存在的文件和没有创建的文件)。
即使在 touch 命令中未指定 -a 和 -m 标志,它们也处于活动状态。
标志
| 项 | 描述 |
|---|---|
| -a | 更改由 File 变量指定的文件的访问时间。 不要更改修改时间,除非也指定了 -m 标志。 |
| -c | 如果文件不存在,那么不要进行创建。 没有写任何有关此条件的诊断消息。 |
| -d 日期时间 | 使用指定的日期和时间,而不是当前时间。 date_time 变量以十进制格式 YYYY-MM-DDThh:mm: SS [.frac] [tz] 或 YYYY-MM-DDThh:mm: SS [, frac] [tz]指定,其中:
|
| -f | 尝试强制 touch 运行,而不管文件的读和写许可权。 |
| -M | 更改 File 的修改时间。 不要更改访问时间,除非也指定了 -m 标志。 |
| -r RefFile | 使用由 RefFile 变量指定的文件的相应时间,而不用当前时间。 |
| 时间 | 以 MMDDhhmm[YY] 的格式指定新时间戳记的日期和时间,其中:
如果 YY 数字的值介于 70 和 99 之间,那么将采用 20 世纪。 如果 YY 数字的值介于 00 和 37 之间,那么将假设为 20 世纪。 |
| -t 时间 | 使用指定时间而不是当前时间。 Time 变量以十进制形式 [[CC]YY]MMDDhhmm[.SS] 指定,其中:
|
注意:
- touch 命令调用 utimenstat () 子例程来更改所触及文件的修改和访问时间。 当没有真正拥有该文件,即使对文件有写许可权,使用标志时也可能使 touch 命令失败。
- 如果在使用 touch 命令时接收到错误消息,请勿指定完整路径名 /usr/bin/touch 。
退出状态
本命令返回以下退出值:
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 命令成功执行。 所有请求的更改已完成。 |
| > 0 | 发生错误。 |
安全性
hm
RBAC 用户注意: 此命令可以执行特权操作。 只有特权用户才能执行特权限定的操作。 有关授权和权限的更多信息,请参阅安全中的特权命令数据库。 有关该命令的权限和授权列表,请参阅 "lssecattr命令或 "getcmdattr子命令。
示例
- 要更新文件的访问和修改时间,请输入:
这将设置上次访问和修改时间program.c文件到当前日期和时间。 如果program.c文件不存在, touch 命令创建一个具有该名称的空文件。touch program.c - 为避免创建新文件,请输入:touch -c program.c
- 要仅更新修改时间,请输入:touch -m *.o这将更新以以下内容结尾的文件的上次修改时间 (而不是访问时间):.o当前目录中的扩展。 touch 命令经常以此方式使用,来改变 make 命令的结果。
- 要显式设置访问和修改时间,请输入:这会将访问和修改日期设置为 1 4: 25 (2:25 p.m)。 本年度的 2 月 17 日。
- 要使用另一个文件的时间戳记而不是当前时间,请输入:touch -r file1 program.c这使得program.c文件与时间戳记相同file1中。
- 要使用当前时间以外的指定时间来触摸文件,请输入:touch -t 198503030303.55 program.c这使得program.c文件时间戳记 3:03:55 a.m。 1985 年 3 月 3。
文件
| 项 | 描述 |
|---|---|
| /usr/bin/touch | 包含 touch 命令。 |