Touch

touch — команда Unix, предназначенная для установки времени последнего изменения файла или доступа в текущее время. Также используется для создания пустых файлов.

История

Утилита touch появилась в операционной системе AT&T UNIX Version 7. Версия утилиты touch, которая идет в комплекте с GNU coreutils, была разработана Полом Рабином, Арнольдом Роббинсом, Джимом Кингдоном, Девидом МакКинзи и Рэнди Смитом.

Спецификация

Согласно POSIX, утилита touch изменяет время последнего изменения файла или время последнего доступа к нему. Имя файла или путь к нему передается в качестве аргумента. Если файл не существует, утилита создает пустой файл с указанным именем и устанавливает время последнего изменения и последнего доступа в значение, переданное в качестве аргумента. Если аргумент времени не задан, используется текущее время.

Синтаксис команды

touch [-acfhm] [-r файл] [-t [[CC]YY]MMDDhhmm[.ss]] файл
  -a
  Устанавливает время последнего доступа к файлу. Время последнего изменения не устанавливается, если явно не задан ключ -m
  -c
  Указывает утилите не создавать файл, если он не существует, при этом никаких сообщений об ошибке показано не будет.
  -f
  Пытается обновить информацию о времени, даже если права доступа файла не позволяют делать.
  -h
  Указывает утилите не изменять данные о файле, если он задан символической ссылкой.
  -m
  Устанавливает время последнего изменения файла.
  -r file
  Использовать значения времени из файла, заданного аргументом file.
  -t time
  Устанавливает время последнего изменения и доступа в соответствии с указанным форматом time.

Формат даты, указанный в ключе -t, задается в соответствии с шаблоном [[СС]YY]MMDDhhmm[.ss]:
  СС — первые две цифры года.
  YY — последние две цифры года.
  Если параметр CC не задан и значение YY находится в пределах 69 и 99, то тогда СС устанавливается равным 19,
  в противном случае используется 20.
  MM — двузначный номер месяца.
  DD — двузначный номер дня.
  hh — значение часов даты.
  mm — значение минут даты.
  ss — значение секунд даты.

В разных UNIX-подобных системах синтаксис команды может отличаться. Например, GNU touch содержит опцию -d, которая позволяет устанавливать дату в форматах, отличающихся от упомянутого выше.

Примеры

Создает файл myfile.txt и устанавливает время последнего изменения и доступа в текущее время в системе; если файл существует — обновляет время последнего изменения и доступа, не изменяя при этом содержимого файла:

# touch myfile.txt


Устанавливает дату последнего изменения и доступа в 8:46:26 31 января 2007 г.:

# touch -t 200701310846.26 index.html
# touch -d '2007-01-31 8:46:26' index.html
# touch -d 'Jan 31 2007 8:46:26' index.html

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.