web-dev-qa-db-fra.com

Comment vérifier tous les horodatages d'un fichier?

Existe-t-il une commande sous Linux pour vérifier tous les horodatages d'un fichier?

J'essaie de voir les dernières dates modifiées, créées et touchées du fichier.

46
Mechaflash

La commande s'appelle stat .

$ stat test
234881026 41570368 -rw-r--r-- 1 werner staff 0 0 "Feb  7 16:03:06 2012" "Feb  7 16:03:06 2012" "Feb  7 16:03:06 2012" "Feb  7 16:03:06 2012" 4096 0 0 test

Si vous souhaitez ajuster le format, reportez-vous aux pages de manuel, car le résultat est spécifique au système d'exploitation et varie sous Linux/Unix.

En règle générale, vous pouvez également obtenir les temps par le biais d'une liste de répertoires normale:

  • ls -l affiche la dernière modification du contenu du fichier, la mtime
  • ls -lc affiche la dernière heure de modification du statut du fichier, la ctime ( Quelle est la différence? )
  • ls -lu affiche l'heure du dernier accès, la atime (bien que l'utilité de ce concept soit sujet à discussion )

Et bien sûr, ctime n'enregistre pas quand un fichier a été "créé". La spécification POSIX ne définit que trois horodatages, mais certains systèmes de fichiers Linux store Heure de naissance/Heure de création. Comment trouver la date de création du fichier? Sur une telle configuration supportée, on pourrait utiliser

stat --printf '%n\nmtime: %y\nctime: %z\natime: %x\ncrtime:%w\n'
66
slhck