[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    touch(1) manual page Table of Contents

Name

touch - change file access and modification times

Synopsis

touch [-acm] [-r ref_file] file...
touch [-acm] [-t time] file...
touch [-acm] [date_time] file...

Availability

SUNWcsu

Description

touch sets the access and modification times of each file. file is created if it does not already exist.

The time used can be specified by -t time, by the corresponding time fields of the file referenced by -r ref_file, or by the date_time operand. If none of these are specified, touch uses the current time (the value returned by the time(2) system call).

If neither the -a nor -m options are specified, touch updates both the modification and access times.

Options

The following options are supported:
-a
Change the access time of file. Do not change the modification time unless -m is also specified.
-c
Do not create a specified file if it does not exist. Do not write any diagnostic messages concerning this condition.
-m
Change the modification time of file. Do not change the access time unless -a is also specified.
-r ref_file
Use the corresponding times of the file named by ref_file instead of the current time.
-t time
Use the specified time instead of the current time. time will be a decimal number of the form:

[[CC]YY]MMDDhhmm[.SS]

where each two digits represents 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 will be assumed. If YY is specified, but CC is not, CC will be derived as follows:

If YY is:CC becomes:
69-9919
00-3820
39-68ERROR

The resulting time will be affected by the value of the TZ environment variable. If the resulting time value precedes the Epoch, touch will exit 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 will be one or two seconds after a time where SS is 59. If SS is not given, it is assumed to be 0.

Operands

The following operands are supported:
file
A path name of a file whose times are to be modified.
date_time
Use the specified date_time instead of the current time. date_time 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 will be assumed. If YY is specified, the year will be derived as follows:

YYCorresponding Year
69-991969-1999
00-382000-2038
39-68ERROR

If no -f option is specified, no -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 will be assumed to be a date_time operand; otherwise, the first operand will be assumed to be a file operand.

Environment

See environ(5) for descriptions of the following environment variables that affect the execution of touch: LC_MESSAGES , NLSPATH , and TZ .

Exit Status

The following exit values are returned:
  1. touch executed successfully and all requested changes were made.
    >0
    An error occurred. touch returns the number of files for which the times could not be successfully modified.

    See Also

    time(2) , environ(5)

    Notes

    Users familiar with the BSD environment will find that the -f option is accepted, but ignored. The -f option is unnecessary because touch will succeed for all files owned by the user regardless of the permissions on the files.


    Table of Contents