ИМЯ
touch − изменяет временные штампы файла
ОБЗОР
touch [−acm][−r ref_file|−t время] [−−]файл...
Устаревшая
версия:
touch [−acm][ugly_time]
файл...
Версия
GNU:
touch [−acfm] [−r
файл] [−t
decimtime] [−d time]
[−−time={atime,access,use,mtime,modify}]
[−−date=время]
[−−reference=файл]
[−−no−create] [−−help]
[−−version] [−−]
файл...
ОПИСАНИЕ
touch изменяет время последнего доступа и/или время последней модификации каждого заданного файла. Эти временные штампы устанавливаются в текущее время; или, если задана опция −r, то эти штампы устанавливаются в те же, что имеет файл ref_file; или, если задана опция −t, то эти штампы устанавливаются на заданное время. Оба штампа изменяются, если не задана ни одна из опций −a и −m или если заданы они обе. Если задана только опция −a или только −m, то изменяться будет, соответственно, только время последнего доступа или время последней модификации. Если заданный файл еще не существует, то он создается (как пустой файл с правами доступа 0666, с учетом umask), если не задана опция −c.
ОПЦИИ POSIX
−a |
Изменить время последнего доступа к файлу. |
|||
−c |
Не создавать файл. |
|||
−m |
Изменять время последней модификации файла. |
−r ref_file
Использовать соответствующий временной штамп от файла ref_file в качестве нового значения для изменяемого временного штампа (или штампов).
−t время
Использовать
заданное
время в
качестве
нового
значения
для
изменяемого
временного
штампа
(или
штампов).
Аргумент
является
десятичным
числом
вида
[[ВВ]ГГ]ММДДччмм[.СС]
с
очевидными
обозначениями
(ВВ - век, ГГ -
год, ММ -
месяц, ДД -
день, чч -
часы, мм -
минуты, СС -
секунды).
Если ВВ не
задан, то
год ВВГГ
берется
из
диапазона
1969-2068. Если СС
не задано,
то
берется 0.
Секунды
могут
быть
заданы в
диапазоне
0-61, чтобы
можно
было
указать
високосную
секунду.
Считается,
что
результирующее
время
соответствует
часовому
поясу,
заданному
в
переменной
окружения
TZ. Если в
результате
получилось
время до 1
января 1970
года, то
будет
выдана
ошибка.
[−−] |
Завершает список опций. |
ДЕТАЛИ ВЕРСИИ POSIX
Вторая форма вызова имеет неудачный синтаксис, который может вызвать некоторую двусмысленность, так как непонятно, что именно задает аргумент ugly_time: время или файл. Если не указаны опции −r и −t, и задано не менее двух аргументов, причем первый аргумент является восьми- или десятизначным числом, то считается, что аргумент ugly_time задает время. Формат ugly_time выглядит как ММДДччмм[гг], причем гг в диапазоне 69-99, означает 1969-1999, а случай, когда гг не задан, означает текущий год. Данная форма вызова устарела.
ДЕТАЛИ ВЕРСИИ GNU
Если первый файл может быть правильным аргументом для опции −t, и временной штамп не задан с помощью опций −d, −r или −t, и не задан аргумент ’−−’, то этот файл интерпретируется как временной штамп для других файлов, а не как имя файла.
Если задано изменение как времени последнего доступа, так и времени последней модификации файла на текущее время, то touch может изменять эти временные штампы для файлов, которыми пользователь не владеет, но в которые у него есть права на запись. Во всех других случаях, пользователь должен владеть этими файлами.
ОПЦИИ GNU
−a, −−time=atime, −−time=access, −−time=use
Изменять только время последнего доступа.
−c, −−no−create
Не создавать файлы, которые не существуют.
−d, −−date=время
Использовать время вместо текущего времени. Оно может содержать имена месяцев, часовые пояса, ’am’ и ’pm’, и т. д.
−f |
Игнорируется; для совместимости с BSD версией touch(1). |
−m, −−time=mtime, −−time=modify
Изменять только время последней модификации.
−r file, −−reference=файл
Использовать время указанного файла вместо текущего времени.
−t decimtime
Здесь decimtime имеет формат ММДДччмм[[ВВ]ГГ][.сс] Использовать аргумент (месяц, день, часы, минуты, необязательный век, год, секунды) вместо текущего времени. Заметим, что этот формат нарушает спецификацию POSIX.
СТАНДАРТНЫЕ ОПЦИИ GNU
−−help |
Выдать подсказку на стандартный вывод и успешно завершиться. |
−−version
Выдать информацию о версии на стандартный вывод и успешно завершиться.
−− |
Служит для обозначения конца списка опций. |
ОКРУЖЕНИЕ
Для интерпретации явно заданного времени используется переменная TZ. При работе обычным образом используются значения переменных LANG, LC_ALL, LC_COLLATE, LC_CTYPE и LC_MESSAGES.
СОВМЕСТИМОСТЬ
POSIX 1003.2 описывает синтаксис для аргумента опции −t, который отличается от того, что используется в реализации GNU.
ПРИМЕР ИСПОЛЬЗОВАНИЯ
Команда touch foo создаст файл foo, если он не существует, и изменит время последней модификации на текущее. Это очень часто используется для управления действиями программы make.
ЗАМЕЧАНИЯ
Данная страница описывает версию touch из пакета fileutils-4.0; другие версии могут иметь небольшие отличия. Исправления и дополнения присылайте по адресу aeb [AT] cwi.nl. Отчеты об ошибках в этой программе присылайте по адресу fileutils-bugs [AT] gnu.edu.
ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone [AT] perm.ru> 2003