Contrairement à Windows, Linux ne stocke pas toujours la date de création du fichier dans les métadonnées de son système de fichiers par défaut, en particulier dans les systèmes de fichiers anciens ou traditionnels tels que ext3. Cependant, les systèmes de fichiers et les versions du noyau les plus récents offrent une prise en charge partielle.

✅ Ce qu’il faut savoir :

  1. Les horodatages standard sous Linux :

    • atime : Dernière heure d’accès

    • mtime : Heure de la dernière modification

    • ctime : Heure du dernier changement d’état (pas de création)

  2. Heure de création (btime) Prise en charge :

    • Disponible sur ext4, Btrfs, XFS et ZFS (avec des mises en garde)

    • Nécessite le noyau Linux 4.11 pour la prise en charge de ext4

Comment vérifier la date de création d’un fichier

🧪 1. Utilisation de stat (sur les systèmes de fichiers pris en charge)

stat

Recherchez le champ Birth : ou btime (si pris en charge).

🧪 2. Utilisation de debugfs (pour ext4)

sudo debugfs /dev/sdX

Ensuite, à l’intérieur de debugfs :

stat /chemin/vers/fichier

Vous pouvez voir Inode Created ou un champ similaire.

3. Utiliser ls -lt –time=birth (si supporté)

ls -lt --time=naissance

Note : Peut ne pas fonctionner sur toutes les distros ou tous les systèmes de fichiers.

Solutions alternatives

  • Utiliser auditd pour enregistrer les événements de création en temps réel

  • Suivre la création de fichiers manuellement via des scripts ou le contrôle de version

  • Utiliser des outils spécifiques au système de fichiers (comme xfs_io pour XFS)

Conseil pour les développeurs

Si vous écrivez des scripts ou programmez sous Linux et que vous avez besoin des heures de création de manière fiable :

  • Stockez manuellement les horodatages de création dans les métadonnées de fichiers xattr ou les journaux

  • Ou utilisez une base de données/un système de fichiers qui enregistre ces données nativement