15/11/2024

Commandes et Système

Comment obtenir la date de création d’un fichier sous Linux ?

I. Présentation

Dans ce tutoriel, nous allons voir comment récupérer la date de création d'un fichier sous Linux, notamment avec la commande stat. Même si cette information est basique, elle reste précieuse et c'est bien de savoir comment la récupérer. Et si jamais vous oubliez, cet article sera là pour vous rappeler comment faire. 😉

Pour ma part, j'utilise Debian 11 et un disque avec le système de fichiers EXT4 pour cette démo.

II. Récupérer la date de création d'un fichier avec stat

Sous Linux, la commande "stat" fait partie du package "Coreutils" et elle permet d'obtenir des informations sur un dossier ou un fichier. Parmi les informations que l'on peut récupérer, il y a le chemin complet, la taille, les droits, mais aussi plusieurs dates (date du dernier accès, date de la dernière modification et la date de création).

Commençons par créer un fichier vide avec la commande touch :

touch /home/flo/itconnect.txt

Ensuite, on va simplement exécuter la commande "stat" en précisant le chemin vers notre fichier :

stat /home/flo/itconnect.txt

Voici ce que l'on obtient :

Linux - Informations sur un fichier avec la commande stat
Linux - Informations sur un fichier avec la commande stat

On peut voir que la dernière ligne s'intitule "Créé" et elle contient la date et l'heure de création du fichier, de façon très précise ! Sur une version anglaise, la ligne "Créé" sera remplacée par "Birth". Vu qu'il y a aussi la date de dernière modification, vous pouvez savoir si un fichier a été modifié depuis sa création.

Maintenant, si vous souhaitez obtenir uniquement la date de création du fichier sans toutes les autres informations, il va falloir affiner la commande stat.

En regardant l'aide de cette commande (stat --help), on peut voir qu'elle dispose d'un paramètre nommé "-c" et qui permet d'ajuster le format de sortie, ce qui est s'annonce intéressant par rapport à ce que l'on cherche à faire. Toujours dans l'aide, on peut également lire ceci :

%w date de création du fichier, lisible ; - si inconnue

Il ne reste plus qu'à utiliser "%w" pour notre format de sortie, ce qui donne la commande suivante :

stat -c '%w' /home/flo/itconnect.txt

Cette fois-ci, j'obtiens uniquement l'information souhaitée :

2021-11-04 08:59:36.802289548 +0100

Voici un exemple en image :

Obtenir la date de création d'un fichier sous Linux
Obtenir la date de création d'un fichier sous Linux

Si vous souhaitez exploiter la commande stat pour obtenir d'autres informations, je vous invite à explorer l'aide (qui au passage est très bien décrite) et à ajuster le format de sortie.

Enfin, si vous connaissez une autre manière d'obtenir la date de création d'un fichier sous Linux, n'hésitez pas à poster un commentaire pour partager l'information avec la communauté.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

4 commentaires sur “Comment obtenir la date de création d’un fichier sous Linux ?

  • Bonjour,
    Quel environnement et quel FS as-tu utilisés ? Sous Debian 10, impossible d’avoir la date de création , que ce soit sous ext3, 4 Reiser ou XFS.

    Répondre
    • Bonjour Eric,
      C’est vrai que j’aurais dû le préciser… Je suis sur Debian 11 avec un système de fichiers en EXT4. Sur Debian 10, la commande est reconnue ou pas du tout ? Car il te manque peut être un paquet.

      Répondre
  • non, la date de création n’est pas récupérée. C’est un sujet dont je cherche la solution depuis un moment. Sur debian 11, ça fonctionne. Après tests, cela vient de la version du package coreutils. La version 8.32 fournie avec Deb 11 est nécessaire pour obtenir la date de création.

    Répondre
    • Bonjour,

      La date de création n’est pas exposée par tous les systèmes de fichiers. Sous EXT3 elle n’était pas disponible, par exemple, et elle est apparue avec EXT4. Le problème c’est que les commandes classiques n’ont pas été mises à jour immédiatement et ne restituaient pas cette valeur pourtant désormais disponibles (ex : « ls ») forçant à passer par des commandes exotériques parfois : debugfs -R « stat  » /dev/sdX | grep crtime.
      Ref : https://www.baeldung.com/linux/get-file-creation-date

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.