2010-08-10 13 views
35

Utilicé "toque" en un archivo, actualizando la marca de tiempo del archivo pero la marca de tiempo del directorio principal no cambió. Sin embargo, (como se esperaba) cuando creé un nuevo archivo dentro del directorio principal, la marca de tiempo del directorio sí cambió.Cuando un directorio de UNIX cambia su marca de tiempo

¿Qué criterios usan los sistemas operativos tipo UNIX (específicamente AIX) para determinar cuándo actualizar la marca de tiempo de un directorio?

Respuesta

26

La marca de tiempo se actualiza cuando los datos que representan el directorio cambian. Un cambio en un subdirectorio del directorio D no cambia nada en la representación de D porque D solo apunta al subdirectorio, no a lo que está dentro de él. Por otro lado, la creación de un archivo en D cambia el bloque de datos en el disco que representa D.

12

La marca de tiempo de un directorio se cambia cuando se cambia el Directorio. El directorio contiene, entre otras cosas, una lista de los inodos de los archivos en el directorio, de modo que cuando se modifique el contenido del directorio añadiendo o eliminando archivos, se actualizará la marca de tiempo de los directorios.

+0

quieres decir, si el número de bloques asociados con un directorio cambia, entonces se modifica el tiempo ¿los cambios se harán bien? –

+0

No del todo. La marca de tiempo del directorio cambia cuando agrega o elimina archivos. Esto puede ocasionar que la cantidad de bloques dentro del directorio cambie aunque no necesariamente. Un bloque será capaz de almacenar muchos registros de inodo, por lo que la cantidad de bloques no cambiará con cada nuevo archivo agregado. –

-3

Puede utilizar el comando stat para encontrar la hora de modificación, creación de tiempo, etc de un archivo/directorio. Consulte http://linux.about.com/library/cmd/blcmdl2_stat.htm

El artículo indica: st_mtime de un directorio se cambia por la creación o eliminación de archivos en ese directorio. El campo st_mtime no se cambia por cambios en el propietario, grupo, conteo de enlaces duros o modo.

+4

Gracias por responder, pero esta respuesta no responde a ninguna de las preguntas originales. La pregunta era sobre los criterios utilizados para determinar una acción (actualizar la marca de tiempo) y no la biblioteca c utilizada para completar la acción. – Scrubbie

Cuestiones relacionadas