Сегодняшний выпуск посвящен утилите touch(1), позволяющей
задать время последнего доступа к файлу и/или время последней
модификации файла, а также создать пустой файл, если он не существует.
Перевод выполнен сегодня, 1 ноября, по справочному руководству Solaris 8.
Утилита touch устанавливает время доступа и время модификации указанных
файлов. Если файл не существует, он создается.
Время может задаваться опцией -t время, соответствующими значениями
атрибутов времени файла, указанного в опции -r базовый_файл, или с помощью
операнда дата_и_время. Если время одним из этих способов явно не задано,
утилита touch использует текущее время (значение, возвращаемое функцией
time(2)).
Если не указаны ни опция -a, ни опция -m, утилита touch
изменяет и время модификации, и время доступа.
Использовать вместо текущего указанное время. Время задается
десятичным числов вида:
[[CC]YY]MMDDhhmm[.SS]
где каждая пара цифр представляет следующее:
MM
Месяц года [01-12].
DD
День месяца [01-31].
hh
Час дня [00-23].
mm
Минута часа [00-59].
CC
Первые две цифры года.
YY
Последние две цифры года.
SS
Секунда минуты [00-61].
Значения CC и YY - не обязательны. Если ни одно из них
не задано, предполагается текущий год. Если указано значение YY, но
не указано CC, значение CC определяется следующим образом:
Если YY в диапазоне:
CC становится:
69-99
19
00-38
20
39-68
ОШИБКА
На результирующее время будет влиять значение переменной среды TZ.
Если результирующее время окажется раньше начала эры UNIX (Epoch, 1 января 1970 года),
touch немедленно завершит работу с ошибочным статусом выхода.
Диапазон допустимых времен - с 1 января 1970 года по 18 января 2038 года.
Для SS допустимый диапазон значений - [00-61], а не [00-59], из-за
набегающих в году дополнительных секунд (leap seconds). Если SS
имеет значение 60 или 61, и результирующее время, с учетом значение переменной среды
TZ, не ссылается на дополнительную секунду, результирующее время будет
на одну или две секунды больше, чем если бы параметр SS имел значение 59.
Если значение SS не задано, предполагается 0.
settime
Утилита settime поддерживает следующую опцию:
-f базовый_файл
Использовать соответствующие атрибуты времени базового_файла, а не
текущее время.
Обе утилиты, touch и settime, поддерживают следующий операнд:
файл
Имя файла, атрибуты времени которого будут изменяться.
touch
Утилита touch поддерживает следующий операнд:
дата_и_время
Использовать указанную дату_и_время вместо текущего времени. Этот
операнд представляет собой десятичное число вида:
MMDDhhmm[YY]
где каждая пара цифр представляет следующее:
MM
Месяц года [01-12].
DD
День месяца [01-31].
hh
Час дня [00-23].
mm
Минута часа [00-59].
YY
Последние две цифры года.
Значение YY - не обязательно. Если оно не указано, предполагается
текущий год. Если значение YY указано, год определяется следующим образом:
YY
Соответствующий год
69-99
1969-1999
00-38
2000-2038
39-68
ОШИБКА
Если ни опция -r, ни опция -t
не указана, задано минимум два операнда и первый операнд - восьми- или десятизначное
десятичное число, первый операнд будет считаться операндом дата_и_время;
в противном случае, первый операнд считается файлом.
Описание следующих переменных среды, влияющих на работу touch,
см. на странице справочного руководства
environ(5): LANG, LC_ALL,
LC_CTYPE, LC_MESSAGES и NLSPATH.
TZ
Задает часовой пояс, который будет использоваться при интерпретации
аргумента опции время или операнда дата_и_время.
Пользователи, знакомые со средой BSD, могут обнаружить, что для утилиты
touch опция -f принимается, но игнорируется. Опция -f
не нужна, потому что touch успешно выполнится для всех файлов,
принадлежащих пользователю, независимо от прав доступа к ним.
man su(1M) из Solaris 8. Дело в том,
Выпуск выйдет в конце следующей недели. Следите за новостями
на сайте
рассылки и, особенно, в разделе, посвященном
Solaris 8.
Кстати, у проекта есть гостевая книга.
Если не хотите писать мне лично, можете высказывать свои пожелания там.