touch

Change file timestamps. Sets the modification and access times of files to the current time of day. If the file doesn’t exist, it is created with default permissions.

Syntax
      Change date and time:
      touch [-achm] [-d YYYY-MM-DDThh:mm:SS[.frac][tz]] file ...

      touch [-achm] [-t [[CC]YY]MMDDhhmm[.SS]] file ...

      Copy the access and modification times from a specified file:
      touch [-achm] [-r source-file] file ...

      Adjust time only:
      touch [-A [-][[hh]mm]SS] [-achm] file ...

Options
     -A   Adjust the access and modification time stamps for the file by the specified value.
          This flag is intended for use in modifying files with incorrectly set time stamps.

          The argument is of the form '[-][[hh]mm]SS' where each pair of letters represents the following:

             -       Make the adjustment negative: the new time stamp is set to be before the old one.
             hh      The number of hours, from 00 to 99.
             mm      The number of minutes, from 00 to 59.
             SS      The number of seconds, from 00 to 59.

          The -A flag implies the -c flag: if any file specified does not exist, it will be silently ignored.

     -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   Change the access and modification times to the specified date time instead of the current time of day.
          The argument is of the form “YYYY-MM-DDThh:mm:SS[.frac][tz]” (ISO 8601)
          where the letters represent the following:
             YYYY    At least four decimal digits representing the year.
             MM, DD, hh, mm, SS
                     As with -t time below.
             T       The letter T or a space is the time designator.
             .frac   An optional fraction, consisting of a period or a comma followed by one or more digits.
                     The number of significant digits depends on the kernel
                     configuration and the filesystem, and may be zero.
             tz      An optional letter Z indicating the time is in UTC.
                     Otherwise, the time is assumed to be in local time.
                     Local time is affected by the value of the TZ environment variable.
                           
     -h   If the file is a symbolic link, change the times of the link itself rather than the file
          that the link points to.  Note that -h implies -c and thus will not create any new files.

     -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   Copy the access and modification times from a specified file instead of the current time of day.

     -t   Change the access and modification times to the specified time.
          The argument 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 61.

          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.

By default, touch changes both modification and access times. The -a and -m flags may be used to select the access time or the modification time individually. Selecting both is equivalent to the default. By default, the timestamps are set to the current time.
The -d and -t flags explicitly specify a different time, and the -r flag specifies to set the times those of the specified file.
The -A flag adjusts the values by a specified amount.

The obsolescent form of touch, where only a time is specified as the first argument, is supported.

When no -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 39 to 99, the year is set to 1939 to 1999, otherwise, the year is set in the 21st century.

Exits 0 on success, and >0 if an error occurs.

Examples

Create/datestamp a file called sample.txt:

$ touch sample.txt

Then open the file:

$ open sample.txt

or in a subfolder:

$ touch "some folder/sample.txt"

Create a file sample.txt dated as 1958-12-31@14:30:

$ touch -d 1958-12-31T14:30:00 sample.txt

Create a file sample.txt dated as 2050-12-31@09:30:

$ touch -t 205012310930 sample.txt

$ touch -d 2050-12-31T09:30:00 sample.txt

Using brace expansion, create/datestamp 10 files called project1, project2 etc:

$ touch project{1,2,3,4,5,6,7,8,9,10}

Create and datestamp 100 files called file1, file2 etc:

for i in $(seq 1 100); do echo -n "file${i} "; touch file${i} 2>&1; done

“If you play it safe you stagnate is this league.
Maybe we’ll bust, but if we hit it, we’ll hit it big” ~ Jimmy Johnson, coach of the Miami Dolphins

Related macOS commands

chgrp - Change group ownership.
chmod - Change access permissions.
chown - Change file owner and group.
date - Display or change the date.
mkdir - Create new folder(s).
rm - Delete files and folders.
which - Show full path of commands.


 
Copyright © 1999-2024 SS64.com
Some rights reserved