Когда каталог UNIX меняет свою временную метку - PullRequest
44 голосов
/ 10 августа 2010

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

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

Ответы [ 3 ]

30 голосов
/ 10 августа 2010

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

16 голосов
/ 10 августа 2010

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

1 голос
/ 10 августа 2010

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

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

...