ryg

Команда touch в Mac OS X и FreeBSD

Синтаксис:

touch [-A [-][[hh]mm]SS] [-acfhm] [-r path] [-t [[CC]YY]MMDDhhmm[.SS]] file ...

Описание:

Утилита touch изменяет время последнего изменения и обращения к файлу. Если указанного файла не существует, то он будет создан с стандартными правами доступа.

По умолчанию touch в bash изменяет оба времени и время модификации и время последнего обращения к файлу. Параметры -a и -m позволяют изменить только одно из времен, использование обоих параметров аналогично использованию команды без параметров. По умолчанию время меняется на текущее, использование параметра -t  позволяет задать другое время или с помощью -r можно задать время доступа и изменения аналогичное указанному файлу. 

Доступные параметры и их описание:

-A [-][[hh]mm]SS Сдвинуть время обращения и изменения заданного файла на указанное значение. Данный флаг предназначен для файлов с неверно установленным временем. Штамп сдвига '[-][[hh]mm]SS' расшифровывается следующим образом:
-    -знак минус означает, что сдвиг времени происходит назад
hh -количество часов от 00 до 99
mm -колчество минут от 00 до 59
SS -количество секунд от 00 до 99
Использование флага -A автоматически подразумевает использование -c. То есть, если какого-либо файла не существует, он пропускается и не создается.
 
-a Изменить время последнего обращения к файлу, в случае если не указан параметр -m время изменения файла не меняется.
 
-c Не создавать заданный файл, если его нет. Утилита touch не считает это событие ошибкой и не влияет на статус завершения программы.
 
-f Попытаться изменить время, даже в том случае, если нет прав на изменение файла.
 
-h Если заданный файл является символьной ссылкой, то изменить время в самой ссылке, а не в файле на который она указывает. Применение параметра -h, автоматически включает параметр -c.
 
-m Изменить время последнего изменения файла, время последнего обращения изменено не будет (если не использовать параметр -a).
 
-r path Использовать время и дату указанного файла (path) для установки времени файла file.
 
-t [[CC]YY]MMDDhhmm[.SS]]

Использовать заданное этим параметром время для времени последнего доступи и изменения вместо текущего. Время задается формой [[CC]YY]MMDDhhmm[.SS]], где каждая пара символов означает:

СС -первые две цифры года (столетие)
YY -вторые две цифры года внутри столетия. Если 'CC' не указать, тогда цифры 'YY' в диапазоне 69-99 будут означать двадцатый век (1969-1999), в остальных случаях будет использован 21 век.
MM -месяц в году, диапазон от 01 до 12
DD -день в месяце в диапазоне 01-31
hh - час в сутках в дипазоне от 00 до 23
mm -минуты от 00 до 59
SS -секунды в диапазоне от 00 до 61

Если не указывать значение года ('CC' и 'YY' одновременно), то будет использован текущий год.
Если не указывать секунды, то по умолчанию секунды будут равны 0.

Совместимость

Не поддерживаются первые версии, где время указывалось в качестве первого параметра. Когда не указаны параметры -t или -r и есть всего два параметра, при этом первый из них представляет собой строку из восьми или десяти символов, этот аргумент воспринимается как  заданное время в формате "MMDDhhmm[YY]''. Пара в диапазоне 39-99 интерпретируется как диапазон 1939-1999 год.

Смежные команды:

Весь список команд terminal Mac OS X