Timestamps Unix conserve 3 pour chaque fichier: mtime, ctime, et atime. La plupart des gens semblent comprendre atime (temps d'accès), il est quand le fichier a été lu. Il ne semble pas être une certaine confusion entre mtime et ctime bien. ctime est la
inode mtime tout changement de temps est le temps de modification de fichier. "Changer" et "modification" sont à peu près synonymes. Il n'y a pas eu la moindre idée de réfléchir par ces mots. Au lieu de vous devez vous concentrer sur ce qui est en train de changer. mtime change lorsque vous écrire sur le fichier. Il est l'âge des données dans le fichier. Lorsque mtime changements, il en est de ctime. Mais les changements ctime quelques fois. Par exemple, cela va changer si vous changez le propriétaire ou les autorisations sur le fichier.
Regardons un exemple concret. Nous courons un paquet appelé Samba qui permet d'accéder aux fichiers du PC. Pour changer la configuration de Samba, je viens d'éditer un fichier smb.conf. (Cette évolution mtime et ctime.) Je n'ai pas besoin de prendre toute autre mesure de dire à Samba que j'ai changé ce fichier. De temps en temps, Samba examine les mtime sur le fichier. Si le mtime a changé, Samba relit le fichier. Plus tard dans la nuit de notre système de sauvegarde s'exécute. Il utilise ctime, qui a également changé, il sauvegarde le fichier. Mais disons que quelques jours plus tard, j'ai remarqué que les autorisations sur smb.conf sont 666. Ce n'est pas bon .. tout le monde peut éditer le fichier. Alors je fais un "chmod 644 smb.conf". Cela ne change que ctime. Samba ne sera pas relire le fichier. Mais plus tard dans la nuit, de notre avis que le programme de sauvegarde ctime a change, il sauve le fichier. De cette façon, si nous perdons le système et le besoin de recharger nos sauvegardes, nous avons amélioré le nouveau paramètre d'autorisation.
Voici un deuxième exemple. Disons que vous avez un fichier de données appelée employees.txt qui est une liste d'employés. Et vous avez un programme pour l'imprimer. Le programme non seulement affiche les données, mais il obtient le mtime et imprime aussi. Maintenant, quelqu'un a demandé une liste des employés à partir de la fin de l'année 2000 et vous avez trouvé une bande de sauvegarde, qui a ce fichier. Beaucoup de programmes de restauration permettra de restaurer la mtime ainsi. Lorsque vous exécutez ce programme, il va imprimer un mtime à partir de la fin de l'année 2000. Mais le ctime est aujourd'hui. Alors, encore une fois, notre programme de sauvegarde verrez le fichier en tant que besoin d'être sauvegardés.
Supposons que votre programme n'a pas de rétablir rétablir la mtime. Vous ne voulez pas que votre programme d'imprimer la date d'aujourd'hui. Eh bien pas de problème. mtime est sous votre contrôle. Vous pouvez le régler sur ce que vous voulez. Il suffit donc de faire:
$ Touch-t 200012311800 employees.txt
Cela va régler mtime retour à la date que vous voulez et elle fixe ctime maintenant. Vous avez le contrôle complet sur mtime, mais le système reste en contrôle de ctime. Mtime Donc c'est un peu comme la date d'une lettre ctime est comme tout le cachet de la poste sur l'enveloppe.