Comprendre les horodatages de fichiers Linux : mtime, ctime et atime
Le système d’exploitation Linux garde une trace de trois horodatages pour chaque fichier de votre système. Ces horodatages vous permettent de découvrir quand un fichier a été mis à jour pour la dernière fois. Mais que signifient-ils tous ? Et comment connaître ces délais pour un dossier ? Y a-t-il une différence en ce qui concerne les répertoires ?
Une compréhension de atime, ctime et mtime peut répondre à toutes ces questions. Ce sont les trois horodatages suivis par les systèmes de fichiers Unix. Si jamais vous avez besoin de découvrir des détails sur ce qui a changé et quand, lisez la suite.
Quels sont les trois horodatages Unix ?
Chaque fichier est associé à trois horodatages. Linux les stocke dans le format d’heure Unix qui mesure les secondes depuis l’époque. Les trois horodatages sont communément appelés atime, ctime et mtime.
le mtime est le plus courant et souvent le plus utile. Ça signifie heure modifiée . C’est l’heure à laquelle le contenu du fichier a été écrit pour la dernière fois sur le disque.
Légèrement différent est le l’heure Qui veut dire changer le temps . Cet horodatage suit les changements de métadonnées tels que la propriété et les autorisations. Cela inclut de renommer un fichier, du moins sur les systèmes d’exploitation Linux modernes typiques. Mais il se met également à jour lorsque le contenu du fichier change, il est donc toujours aussi à jour que le mtime.
Le troisième horodatage est le un moment qui stocke la dernière fois que quelqu’un a accédé au fichier.
Comment les horodatages s’appliquent aux répertoires
Un répertoire Linux est essentiellement une liste des fichiers de ce répertoire. Ainsi, la création d’un fichier dans un répertoire mettra à jour le mtime de ce répertoire. Liste des fichiers dans le répertoire, à l’aide de la ls commande, par exemple, met à jour son temps d’accès. Et, comme pour un fichier, la modification des autorisations ou du nom d’un répertoire met à jour son ctime.
Qu’en est-il du temps de création ?
Vous serez peut-être surpris d’apprendre que Linux ne tient tout simplement pas compte du temps de création. Vous pourriez d’abord supposer que l’heure représente le temps de création. De même, vous pourriez penser qu’il s’agit d’une chose très utile à découvrir.
De nombreuses applications enregistrent les fichiers en les créant à partir de zéro à chaque fois. Cela rendrait l’utilisation d’une heure de création trompeuse.
Comment afficher les différents horodatages
Le moyen le plus simple d’obtenir des informations d’horodatage consiste à ls commander. Le format long par défaut affiche les détails du mtime :
Vous pouvez afficher le atime à la place en utilisant le -u drapeau:
La dernière ligne confirme que le mtime de ce fichier est différent du atime. Enfin, utilisez le -c indicateur pour afficher ctime :
Cette fois, nous confirmons que les trois temps sont distincts et corrects : nous avons modifié, puis accédé, puis changé le fichier, dans cet ordre.
Une alternative à ls est la statistique commander. Cette commande affiche les détails de bas niveau de l’inode du fichier. Cela facilite la vérification des trois fois à la fois. Il contourne également le problème de l’inintuitif -u drapeau. Voici un exemple de sortie pour le même fichier :
Comment mettre à jour les horodatages
le toucher La commande modifie les heures de modification et d’accès d’un fichier. C’est aussi un moyen pratique de créer un fichier vide, ce qu’il fera si le fichier n’existe pas déjà :
Par défaut, il définira mtime et atime sur l’heure actuelle. Vous pouvez définir une heure différente avec le -t drapeau:
Vous pouvez également définir uniquement mtime ou atime avec le -m et -une drapeaux respectivement :
Notez que ctime est toujours mis à jour lorsque nous définissons atime ou mtime.
Comment trouver des fichiers en fonction des horodatages
le trouver La commande est un autre outil qui agit sur les horodatages. Il peut filtrer les fichiers en fonction de atime, ctime ou mtime. Par example:
trouvera les fichiers consultés il y a exactement 15 minutes, tandis que :
trouvera les fichiers modifiés au cours des deux derniers jours.
Linux garde une trace de chaque fichier trois fois
L’horodatage de fichier le plus couramment référencé est mtime. Il s’agit de la date et de l’heure affichées par une liste de fichiers, par exemple. Mais les deux autres horodatages peuvent également être utiles, à condition que vous compreniez à quoi ils font référence. En particulier, rappelez-vous toujours que ctime représente monnaie le temps, non création temps.
Les commandes telles que touch et stat sont des membres utiles de la boîte à outils de ligne de commande Linux. Ces commandes amélioreront votre flux de travail Linux en vous permettant de créer rapidement de nouveaux fichiers.