ctime
: Время смены
Эта отметка времени сообщает вам, когда атрибуты файла (информация об узле) изменились в последний раз. Это включает в себя, например, владение и разрешения, но изменение содержимого также вызывает обновление этой отметки времени.
Обратите внимание, что изменения в atime кажутся исключением, поскольку они не запускают обновление ctime. Вероятно, это связано с тем, что простой доступ для чтения, достаточный для запуска обновления времени, не вносит каких-либо соответствующих изменений в атрибуты файла. И одна из основных целей ctime - помочь инструментам резервного копирования определить, изменился ли файл. Atime - несущественная информация для таких инструментов, и обновление резервной копии просто для обновления измененного времени, потому что кто-то прочитал файл, будет бесполезным.
Я не уверен, но некоторые люди думают, что это поведение (изменения atime не обновляют ctime) происходит только из-за параметров монтирования (например relatime
) базовой файловой системы, которая кэширует и задерживает обновления atime в inode по соображениям производительности в памяти и только применяет их к реальным inode на диске (вызывая обновление ctime) при определенных условиях.
@kos попробовал это сделать, и, видимо, даже при монтировании FS с опцией `strictatime`` ctime, похоже, никогда не обновится, если atime изменится.
cat
, рассматривали ли вы этоtouch
?