Команда touch

Команда touch используется для изменения временных меток файлов. Если указанный файл не существует — он будет создан.

Это особенно полезно для создания пустых (заглушечных) файлов или обновления времён доступа и изменения, например, в системах сборки.

Базовое использование

Чтобы обновить время последнего доступа и изменения файла, используйте:

touch имя_файла.txt

Пример:

touch файл.txt

Опции команды touch

Команда touch поддерживает различные флаги для более гибкого управления:

  • -a — изменяет только время последнего доступа

  • -m — изменяет только время последнего изменения

  • -t — задаёт конкретную дату и время

  • -cне создаёт файл, если он не существует

Флаг -a: изменение времени доступа

Флаг -a обновляет только время последнего обращения к файлу (access time):

touch -a файл.txt

Флаг -m: изменение времени модификации

Флаг -m изменяет только время последнего изменения файла (modification time):

ls -l
-rw-r--r-- 1 user 197609 208 Apr  9 06:24 мой_файл.txt

touch -m мой_файл.txt

ls -l
-rw-r--r-- 1 user 197609 208 Apr  9 08:25 мой_файл.txt

Флаг -t: установка конкретного времени

Флаг -t позволяет задать конкретное время в формате ГГГГММДДЧЧММ:

touch -t 202501010000 мой_файл.txt

ls -l
-rw-r--r-- 1 user 197609 208 Jan  1 00:00 мой_файл.txt

Флаг -c: не создавать файл

Флаг -c указывает touch не создавать файл, если он не существует:

touch -c не_существует.txt

Работа с шаблонами (wildcards)

Вы можете применять touch ко многим файлам сразу, используя шаблоны:

touch *.txt

Этот пример обновит временные метки всех текстовых файлов в текущей директории.

touch — это простая, но мощная команда, особенно полезная при автоматизации процессов, построении make-файлов и управлении файлами.