¿El directorio mtime siempre cambia cuando se crea un nuevo archivo dentro?


12

¿Es siempre cierto que cuando se crea un nuevo archivo en un directorio, el directorio mtime cambia?


Esto es bastante fácil de probar ...
ewwhite

66
Fácil. Sin embargo, no en todos los sistemas operativos y sistemas de archivos a la vez :)
kolypto

Respuestas:


12

La respuesta corta es sí, debería . Sigue una respuesta más larga.

Un directorio es un tipo especial de archivo; su contenido es un conjunto de tuplas (nombre de archivo, i-nodo) . Por lo tanto, el mtime del directorio se actualiza cada vez que se agrega, elimina o cambia una tupla, es decir, se agrega, elimina o renombra un archivo de cualquier tipo (incluidos enlaces duros y directorios) en el directorio (pero no en directorios anidados, son diferentes " archivos ").

Tenga en cuenta que cuando los metadatos del archivo cambian (propietario, grupo, modo, atime, ctime, mtime, alojado en i-node ), mtime NO se actualiza (ni en el archivo ni contiene el directorio) pero el ctime del archivo sí.

Consulte también Volumen de definiciones básicas de IEEE Std 1003.1-2001, Sección 4.7, Actualización de tiempos de archivo .


1
Tenga en cuenta que esto solo es cierto para los archivos que se crean (etc.) directamente dentro del directorio principal en cuestión, pero no para los archivos creados (etc.) en un directorio bajo el directorio principal. Quizás esto sea obvio para otros, pero no lo fue para mí (tuve que probar para encontrar la respuesta).
Logidelic

1
@logidelic gracias, he actualizado la respuesta para hacerlo más claro.
yrk

¿Por qué el ctime del directorio también cambia cuando crea un nuevo archivo en él?
Sr. Roland
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.