TOUCH(1) | User Commands | TOUCH(1) |
touch, settime - change file access and modification times
touch [-acm] [-r ref_file | -t time | -d date_time] file...
touch [-acm] [time_spec] file...
settime [-f ref_file] [time_spec] file...
The touch utility sets the access and modification times of each file. The file operand is created if it does not already exist.
The time used can be specified by -t time, by -d date_time, by the corresponding time fields of the file referenced by -r ref_file, or by the time_spec operand. If none of these are specified, touch uses the current time.
If neither the -a nor -m options are specified, touch updates both the modification and access times.
A user with write access to a file, but who is not the owner of the file or a super-user, can change the modification and access times of that file only to the current time. Attempts to set a specific time with touch results in an error.
The settime utility is equivalent to touch -c [time_spec] file.
The following options are supported in the touch and settime utilities:
The following options are supported for the touch utility:
-a
-c
-d date_time
YYYY-MM-DDThh:mm:SS[.frac][tz]
or
YYYY-MM-DDThh:mm:SS[,frac][tz]
where
-m
-r ref_file
-t time
[[CC]YY]MMDDhhmm[.SS]
where each two digits represent the following:
MM
DD
hh
mm
CC
YY
SS
Both CC and YY are optional. If neither is given, the current year is assumed. If YY is specified, but CC is not, CC is derived as follows:
If YY is: | CC becomes: |
69-99 | 19 |
00-38 | 20 |
39-68 | ERROR |
The resulting time is affected by the value of the TZ environment variable. If the resulting time value precedes the Epoch, touch exits immediately with an error status. The range of valid times is the Epoch to January 18, 2038.
The range for SS is [00-61] rather than [00-59] because of leap seconds. If SS is 60 or 61, and the resulting time, as affected by the TZ environment variable, does not refer to a leap second, the resulting time is one or two seconds after a time where SS is 59. If SS is not given, it is assumed to be 0.
The following option is supported for the settime utility:
-f ref_file
The following operands are supported for the touch and settime utilities:
file
time_spec
MMDDhhmm[YY]
where each two digits represent the following:
MM
DD
hh
mm
YY
YY is optional. If it is omitted, the current year is assumed. If YY is specified, the year is derived as follows:
YY | Corresponding Year |
69-99 | 1969-1999 |
00-38 | 2000-2038 |
39-68 | ERROR |
If no -d, -r, or -t option is specified, at least two operands are specified, and the first operand is an eight- or ten-digit decimal integer, the first operand is assumed to be a time_spec operand. Otherwise, the first operand is assumed to be a file operand.
See largefile(7) for the description of the behavior of touch when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
See environ(7) for descriptions of the following environment variables that affect the execution of touch: LANG, LC_ALL, LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.
TZ
The following exit values are returned:
0
>0
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
CSI | Enabled |
Interface Stability | Committed |
Standard | See standards(7). |
futimens(2), stat(2), attributes(7), environ(7), largefile(7), standards(7)
Users familiar with the BSD environment find that for the touch utility, the -f option is accepted but ignored. The -f option is unnecessary because touch succeeds for all files owned by the user regardless of the permissions on the files.
June 13, 2021 | OmniOS |