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@cwi.nl.
Отчеты об ошибках в этой программе присылайте по адресу
fileutils-bugs@gnu.ai.mit.edu.