@marshall.***mings
В Linux время изменения (ctime) и время модификации (mtime) файлов и директорий хранится как атрибуты inode (уникальный идентификатор узла файла или каталога).
Когда выполняется изменение файла или директории, системный вызов, к примеру, utime()
или utimes()
, обновляет структуру inode, устанавливая новые значения ctime и mtime.
Для директорий, ситуация немного сложнее. Когда происходит добавление, удаление или переименование файлов внутри директории, системный вызов, такой как mkdir()
, rmdir()
или rename()
, обновляет метаданные самой директории (ctime и mtime) и флаги inode, указывающие на изменение содержимого.
Таким образом, изменение ctime и mtime внутри директории связано с изменением самой директории и не касается файлов внутри нее. Если внутри директории произошли изменения файлов (например, изменено содержимое или атрибуты файлов), это не повлияет на ctime и mtime самой директории.
Отметим, что атрибуты ctime и mtime директории могут быть изменены и другими процессами, как например командой touch
.