touch - Man Page
change file timestamps
Examples (TL;DR)
- Create specific files:
touch path/to/file1 path/to/file2 ...
- Set the file [a]ccess or [m]odification times to the current one and don't [c]reate file if it doesn't exist:
touch -c -a|m path/to/file1 path/to/file2 ...
- Set the file [t]ime to a specific value and don't [c]reate file if it doesn't exist:
touch -c -t YYYYMMDDHHMM.SS path/to/file1 path/to/file2 ...
- Set the files' timestamp to the [r]eference file's timestamp, and do not [c]reate the file if it does not exist:
touch -c -r path/to/reference_file path/to/file1 path/to/file2 ...
Synopsis
touch [OPTION]... FILE...
Description
Update the access and modification times of each FILE to the current time.
A FILE argument that does not exist is created empty, unless -c or -h is supplied.
A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output.
Mandatory arguments to long options are mandatory for short options too.
- -a
change only the access time
- -c, --no-create
do not create any files
- -d, --date=STRING
parse STRING and use it instead of current time
- -f
(ignored)
- -h, --no-dereference
affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink)
- -m
change only the modification time
- -r, --reference=FILE
use this file's times instead of current time
- -t [[CC]YY]MMDDhhmm[.ss]
use specified time instead of current time, with a date-time format that differs from -d's
- --time=WORD
specify which time to change: access time (-a): 'access', 'atime', 'use'; modification time (-m): 'modify', 'mtime'
- --help
display this help and exit
- --version
output version information and exit
Date String
The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating calendar date, time of day, time zone, day of week, relative time, relative date, and numbers. An empty string indicates the beginning of the day. The date string format is more complex than is easily documented here but is fully described in the info documentation.
Author
Written by Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith.
Reporting Bugs
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Copyright
Copyright © 2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
See Also
Full documentation <https://www.gnu.org/software/coreutils/touch>
or available locally via: info '(coreutils) touch invocation'
Referenced By
ch-image(1), fetchmail(1), guestfish(1), guestfs(3), last(1), perlfunc(1), qselect-torque(1), ssh-copy-id(1), sshexport(1), systemd-update-done.service(8), utime(2), utimensat(2), virt-builder(1), virt-customize(1), virt-sysprep(1), virt-v2v(1), vmtouch(8), xsane(1), znew(1).