Когда каталог UNIX меняет свою временную метку

Я использовал "touch" для файла, обновляя метку времени файла, но метка времени родительского каталога не изменилась. Однако (как и ожидалось), когда я создал новый файл в родительском каталоге, временная метка каталога изменилась.

Какие критерии используют UNIX-подобные операционные системы (в частности, AIX), чтобы определить, когда обновлять временную метку каталога?

3 ответа

Решение

Отметка времени обновляется при изменении данных, представляющих каталог. Изменение в подкаталоге каталога D ничего не меняет в представлении D, потому что D указывает только на подкаталог, а не на то, что внутри него. С другой стороны, создание файла в D изменяет блок данных на диске, который представляет D.

Временная метка каталога изменяется при изменении самого каталога. Каталог содержит, помимо прочего, список инодов файлов в каталоге, поэтому при изменении содержимого каталога путем добавления или удаления файлов метка времени каталогов будет обновлена.

Каталог считается измененным, если в нем есть добавление или удаление файла / каталога. Если существующие файлы / каталоги только что обновляются, отметка времени родительского каталога не изменится.

Вы можете использовать команду stat, чтобы найти измененное время, время создания и т. Д. Файла / каталога. Обратитесь к https://linux.die.net/man/2/stat

В статье говорится: st_mtime каталога изменяется путем создания или удаления файлов в этом каталоге. Поле st_mtime не изменяется при изменении владельца, группы, количества жестких ссылок или режима.

Другие вопросы по тегам