Le répertoire mtime change-t-il toujours lorsqu'un nouveau fichier est créé à l'intérieur?


12

Est-il toujours vrai que lorsqu'un nouveau fichier est créé dans un répertoire - le mtime du répertoire change?


C'est assez facile à tester ...
ewwhite

6
Facile. Cependant, pas sur tous les systèmes d'exploitation et systèmes de fichiers à la fois :)
kolypto

Réponses:


12

La réponse courte est oui, cela devrait . Une réponse plus longue suit.

Un répertoire est un type spécial de fichier; son contenu est un ensemble de tuples (nom de fichier, i-node) . Ainsi, le mtime du répertoire est mis à jour chaque fois qu'un tuple est ajouté, supprimé ou modifié - c'est-à-dire qu'un fichier de tout type (y compris les liens physiques et les répertoires) est ajouté, supprimé ou renommé dans le répertoire (mais pas dans les répertoires imbriqués - ceux-ci sont différents " des dossiers").

Veuillez noter que lorsque les métadonnées du fichier changent (propriétaire, groupe, mode, atime, ctime, mtime - hébergé dans i-node ), mtime n'est PAS mis à jour (ni sur le fichier ni contenant dir) mais le ctime du fichier le fait.

Voir également le volume Définitions de base de IEEE Std 1003.1-2001, Section 4.7, Mise à jour des heures de fichier .


1
Notez que cela n'est vrai que pour les fichiers créés (etc) directement à l'intérieur du répertoire parent en question, mais pas pour les fichiers créés (etc) dans un répertoire sous le répertoire parent. C'est peut-être évident pour les autres, mais ce n'était pas pour moi (j'ai dû tester pour trouver la réponse).
logidelic

1
@logidelic merci, j'ai mis à jour la réponse pour la rendre plus claire.
yrk

Pourquoi le ctime du répertoire change-t-il également lorsque vous créez un nouveau fichier dedans?
M. Roland
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.