Когда каталог UNIX меняет свою метку времени
Я использовал "touch" в файле, обновляя временную метку файла, но временная метка родительского каталога не изменялась. Однако (как и ожидалось), когда я создал новый файл в родительском каталоге, временная метка каталога изменилась.
Какие критерии используют UNIX-подобные операционные системы (в частности, AIX), чтобы определить, когда обновлять временную метку каталога?
Ответы
Ответ 1
Временная метка обновляется, когда изменяются данные, представляющие каталог. Изменение в подкаталоге каталога D ничего не меняет в представлении D, потому что D указывает только на подкаталог, а не на то, что внутри него. С другой стороны, при создании файла в D изменяется блок данных на диске, представляющий D.
Ответ 2
Временная метка каталога изменяется при изменении самого каталога. Каталог содержит, среди прочего, список inodes файлов в каталоге, поэтому, когда вы меняете содержимое каталога, добавляя или удаляя файлы, время метки каталогов будет обновляться.
Ответ 3
Вы можете использовать команду stat, чтобы найти измененное время, время создания и т.д. файла/каталога.
См. http://linux.about.com/library/cmd/blcmdl2_stat.htm
В статье говорится:
st_mtime каталога изменяется путем создания или удаления файлов в этом каталоге. Поле st_mtime не изменяется для изменений владельца, группы, количества жестких ссылок или режима.