TOUCH(1)                        User Commands                       TOUCH(1)
NAME
       touch, settime - change file access and modification times
SYNOPSIS
       touch [
-acm] [
-r ref_file | 
-t time | 
-d date_time] 
file...       
touch [
-acm] [
time_spec] 
file...       
settime [
-f ref_file] [
time_spec] 
file...
DESCRIPTION
       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.
OPTIONS
       The following options are supported in the 
touch and 
settime       utilities:   
touch       The following options are supported for the 
touch utility:       
-a           Changes the access time of 
file. Does not change the modification
           time unless 
-m is also specified.       
-c           Does not create a specified 
file if it does not exist. Does not
           write any diagnostic messages concerning this condition.       
-d date_time           Uses the specified date_time instead of the current time. The
           option-argument must be a string of the form:             
YYYY-
MM-
DDThh:
mm:
SS[.
frac][
tz]
           or             
YYYY-
MM-
DDThh:
mm:
SS[,
frac][
tz]
           where
               o      
YYYY is at least four decimal digits giving the year
               o      
MM, 
DD, 
hh, 
mm, and 
SS are as with 
-t time               o      
T is either the letter 
T or a single SPACE character
               o      [
.frac] and [
,frac] are either empty, or a period (
.)
                      or a comma (
,) respectively, followed by one or more
                      decimal digits, specifying a fractional second
               o      [
tz] is either empty, signifying local time, or the
                      letter 
Z, signifying UTC. If [
tz] is empty, the
                      resulting time is affected by the value of the 
TZ                      environment variable       
-m           Changes the modification time of 
file. Does not change the access
           time unless 
-a is also specified.       
-r ref_file           Uses the corresponding times of the file named by 
ref_file           instead of the current time.       
-t time           Uses the specified 
time instead of the current time. 
time is a
           decimal number of the form:
             [[
CC]
YY]
MMDDhhmm[
.SS]
           where each two digits represent the following:           
MM               The month of the year [01-12].           
DD               The day of the month [01-31].           
hh               The hour of the day [00-23].           
mm               The minute of the hour [00-59].           
CC               The first two digits of the year.           
YY               The second two digits of the year.           
SS               The second of the minute [00-61].
           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.   
settime       The following option is supported for the 
settime utility:       
-f ref_file           Uses the corresponding times of the file named by 
ref_file           instead of the current time.
OPERANDS
       The following operands are supported for the 
touch and 
settime       utilities:       
file           A path name of a file whose times are to be modified.       
time_spec           Uses the specified 
time_spec instead of the current time. This
           operand is a decimal number of the form:             
MMDDhhmm[
YY]
           where each two digits represent the following:           
MM               The month of the year [01-12].           
DD               The day of the month [01-31].           
hh               The hour of the day [00-23].           
mm               The minute of the hour [00-59].           
YY               The second two digits of the year.               
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.
USAGE
       See 
largefile(7) for the description of the behavior of 
touch when
       encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
ENVIRONMENT VARIABLES
       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           Determine the timezone to be used for interpreting the 
time or           
date_time option-argument or the 
time_spec operand.
EXIT STATUS
       The following exit values are returned:       
0           The 
touch utility executed successfully and all requested changes
           were made.       
>0           An error occurred. The 
touch utility returned the number of files
           for which the times could not be successfully modified.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-------------------+
       |  ATTRIBUTE TYPE    |  ATTRIBUTE VALUE  |
       +--------------------+-------------------+
       |CSI                 | Enabled           |
       +--------------------+-------------------+
       |Interface Stability | Committed         |
       +--------------------+-------------------+
       |Standard            | See 
standards(7). |
       +--------------------+-------------------+
SEE ALSO
       futimens(2), 
stat(2), 
attributes(7), 
environ(7), 
largefile(7),       
standards(7)NOTES
       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                       TOUCH(1)