Le système d'exploitation Linux garde la 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 horaires pour un fichier? 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 savoir 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 la plus courante et souvent la plus utile. Ça signifie heure modifiée. Il s’agit de l’heure à laquelle le contenu du fichier a été enregistré pour la dernière fois sur le disque.

instagram viewer

Légèrement différent est le ctime Qui veut dire changer le temps. Cet horodatage suit les modifications des métadonnées telles que la propriété et les autorisations. Cela inclut le changement de nom d'un fichier, du moins sur les systèmes d'exploitation Linux modernes typiques. Mais il est également mis à jour lorsque le contenu du fichier change, il est donc toujours aussi à jour que mtime.

Le troisième horodatage est le à l'heure, 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, créer un fichier dans un répertoire mettra à jour le mtime de ce répertoire. Liste des fichiers dans le répertoire, en utilisant le ls commande, par exemple, met à jour son heure d'accès. Et, comme pour un fichier, la modification des autorisations ou du nom d’un répertoire met à jour son heure de fonctionnement.

Qu'en est-il du temps de création?

Vous serez peut-être surpris d’apprendre que Linux ne suit tout simplement pas le temps de création. Vous pourriez d'abord supposer que ctime représente le temps de la création. De même, vous pourriez considérer cela comme une chose très utile pour pouvoir le découvrir.

De nombreuses applications enregistrent des fichiers en les créant à chaque fois à partir de zéro. 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 est d'utiliser le ls commander. Le format long par défaut affiche les détails du mtime:

$ date
Sam 6 mars 16:57:01 GMT 2021
$ echo "bonjour, monde"> tmp
$ ls -l tmp.txt
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp

Vous pouvez afficher l'atime à la place en utilisant le -u drapeau:

$ date
Sam 6 mars 16:59:33 GMT 2021
$ chat tmp
Bonjour le monde
$ ls -lu tmp
-rw-r - r-- 1 ubuntu ubuntu 13 06/03/2021 16:59 tmp
$ ls -l tmp
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp

La dernière ligne confirme que le mtime de ce fichier est différent de l'atime. Enfin, utilisez le -c drapeau pour afficher ctime:

$ date
Sam 6 mars 17:02:34 GMT 2021
$ mv tmp tmp2
$ ls -lc tmp2
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 17:02 tmp2
$ ls -l tmp2
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp2
$ ls -lu tmp2
-rw-r - r-- 1 ubuntu ubuntu 13 06/03/2021 16:59 tmp2

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 le stat commander. Cette commande affiche des détails de bas niveau à partir de l’inœud du fichier. Cela facilite la vérification des trois fois à la fois. Cela permet également de contourner le problème de la non-intuitivité -u drapeau. Voici un exemple de sortie pour le même fichier:

$ stat tmp2
Fichier: `tmp2 '
Taille: 13 blocs: 8 IO Block: 4096 fichier régulier
Appareil: 801h / 2049d Inode: 327688 Liens: 1
Accès: (0644 / -rw-r - r--) Uid: (1000 / ubuntu) Gid: (1000 / ubuntu)
Accès: 2021-03-06 16: 59: 45.000000000 +0000
Modifier: 2021-03-06 16: 57: 59.000000000 +0000
Changement: 2021-03-06 17: 02: 43.000000000 +0000

Comment mettre à jour les horodatages

Le toucher La commande modifie les heures de modification et d'accès d'un fichier. C’est également un moyen pratique de créer un fichier vide, ce qu’il fera si le fichier n’existe pas déjà:

toucher tmp

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:

tactile -t 202103061200 tmp

Vous pouvez également définir uniquement mtime ou atime avec le -m et -une drapeaux respectivement:

tactile -t 202103061300 -m tmp

Notez que le ctime est toujours mis à jour lorsque nous définissons atime ou mtime.

Comment rechercher des fichiers en fonction des horodatages

Le trouver command est un autre outil qui agit sur les horodatages. Il peut filtrer les fichiers en fonction de atime, ctime ou mtime. Par exemple:

trouver. -amine 15

trouvera les fichiers consultés il y a exactement 15 minutes, tandis que:

trouver. -mtime -2

trouvera les fichiers modifiés au cours des deux derniers jours.

Linux effectue le suivi 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 changement le temps, pas 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.

E-mail
Aide-mémoire de référence des commandes Linux

Cette simple feuille de triche vous aidera à vous familiariser avec le terminal de ligne de commande Linux en un rien de temps.

Rubriques connexes
  • Linux
  • Gestion de fichiers
  • Distribution Linux
A propos de l'auteur
Bobby Jack (33 articles publiés)

Bobby est un passionné de technologie qui a travaillé comme développeur de logiciels pendant la majeure partie de deux décennies. Passionné de jeux vidéo, il travaille en tant que rédacteur de critiques chez Switch Player Magazine et est plongé dans tous les aspects de la publication en ligne et du développement Web.

Plus de Bobby Jack

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives!

Un pas de plus…!

Veuillez confirmer votre adresse e-mail dans l'e-mail que nous venons de vous envoyer.

.