GNU/Linux >> Tutoriels Linux >  >> Linux

Linux – Comment trouver la date de création du fichier ?

Je veux connaître la date de création d'un fichier particulier, pas la date de modification ou la date d'accès.

J'ai essayé avec ls -ltrh et stat filename .

Réponse acceptée :

stat -c '%w' file sur les systèmes de fichiers qui stockent l'heure de création.

Notez que sous Linux, cela nécessite coreutils 8.31, glibc 2.28 et noyau version 4.11 ou plus récent.

La norme POSIX ne définit que trois horodatages distincts à stocker pour chaque fichier :l'heure du dernier accès aux données, l'heure de la dernière modification des données et l'heure à laquelle l'état du fichier a changé pour la dernière fois.

Les systèmes de fichiers Linux modernes, tels que ext4, Btrfs, XFS (v5 et versions ultérieures) et JFS, stockent l'heure de création du fichier (c'est-à-dire l'heure de naissance), mais utilisent des noms différents pour le champ en question (crtime en ext4/XFS, otime dans Btrfs et JFS). Linux fournit l'interface d'appel système statx(2) pour récupérer l'heure de naissance du fichier pour les systèmes de fichiers qui la prennent en charge depuis la version 4.11 du noyau. (Ainsi, même lorsque la prise en charge du temps de création a été ajoutée à un système de fichiers, certains noyaux déployés ne l'ont pas immédiatement pris en charge, même après avoir ajouté la prise en charge nominale de cette version du système de fichiers, par exemple XFS v5.)

Comme l'ont souligné Craig Sanders et Mohsen Pahlevanzadeh, stat prend en charge le %w et %W spécificateurs de format pour afficher l'heure de naissance du fichier (respectivement dans un format lisible par l'homme et en secondes depuis Epoch) avant coreutils version 8.31. Cependant, coreutils stat utilise le statx() appel système si disponible pour récupérer l'heure de naissance uniquement depuis la version 8.31.
Avant coreutils version 8.31 stat accédé à l'heure de naissance via get_stat_birthtime() fourni par gnulib (dans lib/stat-time.h ), qui obtient l'heure de naissance à partir de st_birthtime et st_birthtimensec champs de la stat structure retournée par le stat() appel système. Alors que par exemple les systèmes BSD (et en extension OS X) fournissent st_birthtime via stat , pas Linux. C'est pourquoi stat -c '%w' file sorties - (indiquant une heure de création inconnue) sous Linux avant coreutils 8.31 même pour les systèmes de fichiers qui stockent l'heure de création en interne.

Comme le souligne Stéphane Chazelas, certains systèmes de fichiers, tels que ntfs-3g, exposent les temps de création de fichiers via des attributs de fichiers étendus.


Linux
  1. Comment rechercher et trier des fichiers en fonction de la date et de l'heure de modification sous Linux

  2. Comment trouver un fichier sous Linux

  3. Linux – Comment obtenir la date de création d'un fichier sur un volume logique Ntfs ?

  4. Comment obtenir la date/heure de création du fichier dans Bash/Debian ?

  5. Comment supprimez-vous les fichiers antérieurs à une date spécifique sous Linux ?

Comment trouver la date et l'heure exactes d'installation de votre système d'exploitation Linux

Autorisations Linux - Comment trouver les autorisations d'un fichier

Comment trouver des fichiers basés sur l'horodatage sous Linux

Comment trouver la ou les lignes les plus longues dans un fichier sous Linux

Comment trouver la date et l'heure d'installation du système d'exploitation Linux

Comment définir la date et l'heure sous Linux