Touch
Содержание |
[править] ИМЯ
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; другие версии могут иметь небольшие отличия. Исправления и дополнения присылайте по адресу [email protected]. Отчеты об ошибках в этой программе присылайте по адресу [email protected].
[править] ПЕРЕВОД
Перевёл с английского Виктор Вислобоков