NAME
touch —
change file access and
modification times
SYNOPSIS
touch |
[-acfhm]
[-d
human-datetime]
[--date
human-datetime]
[-r file]
[--reference
file] [-t
datetime] file ... |
DESCRIPTION
The
touch utility changes the access and modification times of
files to the current time of day. If the file doesn't exist, it is created
with default permissions.
The following options are available:
-
-
- -a
- Change the access time of the file. The modification time
of the file is not changed unless the -m flag is also
specified.
-
-
- -c
- Do not create the file if it does not exist. The
touch utility does not treat this as an error. No error
messages are displayed and the exit value is not affected.
-
-
- -d
human-datetime
-
- --date
human-datetime
- Parse human-datetime using the human
datetime parser
parsedate(3).
-
-
- -f
- This flag has no effect; it is accepted for compatibility
reasons.
-
-
- -h
- If file is a symbolic link, access
and/or modification time of the link is changed. This option implies
-c.
-
-
- -m
- Change the modification time of the file. The access time
of the file is not changed unless the -a flag is also
specified.
-
-
- -r
file
-
- --reference
file
- Use the access and modifications times from
file instead of the current time of day.
-
-
- -t
datetime
- Change the access and modification times to the specified
time. The argument datetime should be in the form
“[[CC]YY]MMDDhhmm[.SS]” where each pair of letters represents
the following:
- CC
- The first two digits of the year (the century).
- YY
- The second two digits of the year. If “YY”
is specified, but “CC” is not, a value for
“YY” between 69 and 99 results in a “CC” value
of 19. Otherwise, a “CC” value of 20 is used.
- MM
- The month of the year, from 1 to 12.
- DD
- The day of the month, from 1 to 31.
- hh
- The hour of the day, from 0 to 23.
- mm
- The minute of the hour, from 0 to 59.
- SS
- The second of the minute, from 0 to 60 (permitting leap
seconds). If SS is 60 and the resulting time, as
affected by the
TZ
environment variable, does
not refer to a leap second, the resulting time is one second after a
time where SS is 59. If SS
is not given a value, it is assumed to be zero.
If the “CC” and “YY” letter pairs are not specified,
the values default to the current year. If the “SS” letter
pair is not specified, the value defaults to 0.
The
-d,
-r, and
-t options
are mutually exclusive. If more than one of these options is present, the last
one is used.
ENVIRONMENT
-
-
TZ
- The timezone to be used for interpreting the
datetime argument of the -t
option.
EXIT STATUS
The
touch utility exits 0 on success, and >0 if
an error occurs.
COMPATIBILITY
The obsolescent form of
touch, where a time format is
specified as the first argument, is supported. When no
-d,
-r, or
-t option is specified, there are
at least two arguments, and the first argument is a string of digits either
eight or ten characters in length, the first argument is interpreted as a time
specification of the form “MMDDhhmm[YY]”.
The “MM”, “DD”, “hh” and “mm”
letter pairs are treated as their counterparts specified to the
-t option. If the “YY” letter pair is in the
range 69 to 99, the year is set to 1969 to 1999, otherwise, the year is set in
the 21st century.
SEE ALSO
utimes(2),
parsedate(3)
STANDARDS
The
touch utility is expected to be a superset of the
IEEE Std 1003.2 (“POSIX.2”) specification.
HISTORY
A
touch utility appeared in
Version 7
AT&T UNIX.
BUGS
A symbolic link can't be a reference file of access and/or modification
time.