GNU/Linux >> Tutoriels Linux >  >> Linux

Quand le fichier a-t-il été créé ?

Cette question a déjà des réponses ici :Comment trouver la date de création du dossier ?

(7 réponses)
Fermé il y a 7 ans.

Comment puis-je voir quand un fichier a été créé. J'ai regardé la page de manuel

ls -lc est pour la dernière modification de l'état du fichier

ls -lu pour le temps d'accès

ls -l pas exactement indiqué à quelle heure, dernier changement ?

J'ai essayé ceux-ci, mais ils ne me donnent pas le temps de créer le fichier.

Réponse acceptée :

Sous OS/X ou FreeBSD, c'est l'option -U. Linux stocke désormais également l'heure de naissance/création sur la plupart de ses systèmes de fichiers natifs, mais il n'y a pas encore d'API pour la récupérer (édition 2018 :depuis le noyau 4.11, il y a maintenant un statx() appel système, et depuis glibc 2.28 un wrapper libc pour lui et depuis coreutils 8.31, GNU stat peut l'afficher, et (édition 2021 ) depuis 8.32 GNU ls peut l'afficher avec --time=birth ).

Sur les systèmes de fichiers ext4, vous pouvez cependant utiliser debugfs pour l'obtenir :

$ sudo debugfs /dev/some/fs
stat /some/file
[...]
crtime: 0x53208d7a:9045625c -- Wed Mar 12 16:38:18 2014
[...]

(où /some/file est le chemin dans ce système de fichiers)

Pour les systèmes de fichiers NTFS, et en supposant que vous utilisez ntfs-3g pour le monter, consultez Comment obtenir la date de création d'un fichier sur un volume logique NTFS ?

Si vous avez un système Linux assez récent, vous pouvez utiliser xfs_io statx sous-commande pour invoquer le nouveau statx() appel système et obtenir l'heure de naissance :

$ TZ=UTC0 xfs_io -c 'statx -v' /some/file
[...]
stat.btime = Thu Feb  7 17:11:20 2019
[...]

(ici en utilisant l'heure UTC avec TZ=UTC0 sinon la date serait ambiguë car le décalage UTC n'est pas sorti). Ou avec statx -r qui vous donne la partie nanoseconde et un temps plus facilement analysable :

$ xfs_io -c 'statx -r' /some/file
[...]
stat.btime.tv_sec = 1549559480
stat.btime.tv_nsec = 964691587
[...]

Avec GNU stat 8.31 ou plus récent sur les systèmes avec glibc 2.28 ou plus récent et un noyau 4.11 ou plus récent :

$ stat /some/file | grep Birth:
 Birth: 2018-05-24 16:27:28.415875403 +0100
$ stat -c '%.9W %w' /some/file
1527175648.415875403 2018-05-24 16:27:28.415875403 +0100

Avec GNU ls 8.32 ou plus récent sur les systèmes avec glibc 2.28 ou plus récent et un noyau 4.11 ou plus récent :

$ ls -l --time=birth --full-time /some/file
-rw-r--r-- 1 stephane stephane 2333836 2018-05-24 16:27:28.415875403 +0100 /some/file

Traditionnellement, Unix ne stockait pas d'heure de création.

Notez que cette valeur a peut-être moins de sens que vous ne le pensez.

Le temps de modification reflète l'âge des données dans ce fichier, le temps d'accès lors du dernier accès, l'heure de changement d'inode est très utile pour les logiciels de sauvegarde par exemple, car vous ne savez rien sur ce fichier qui a changé depuis ce temps (sauf éventuellement son chemin complet pour lequel vous pouvez consulter le ctime de ses composants de répertoire).

En relation :problème avec le fichier bundleconfig ?

Le temps de création est lorsque l'inode apparaît (bien avait un nombre de liens allant de 0 à 1, cet inode aurait pu être alloué et supprimé dans une vie précédente), il ne reflète pas l'âge des données associées à ce fichier (les données sont écrit après la création du fichier), il ne nous dit pas si un fichier par ce chemin a vu le jour à ce moment-là (le fichier que nous examinons peut avoir été créé avec un chemin différent et lié ou déplacé plus tard).


Linux
  1. Lorsque les fichiers exécutables ne le sont pas ?

  2. Comment trouver quand le Spfile a été créé sur le serveur Linux

  3. Comprendre les horodatages des fichiers Mac

  4. comment vérifier dans bash si un fichier a été créé il y a plus de x fois ?

  5. mkdir -p échoue lorsque le répertoire existe

Comment afficher le dernier accès à un fichier dans Ubuntu

Bash History :comment afficher un horodatage (date/heure) lorsque chaque commande a été exécutée

Exclure le répertoire lors de la création d'un fichier .tar.gz

horodatage, heure de modification et heure de création d'un fichier

sauvegarde en temps réel si fichier modifié ?

Comment supprimer les fichiers .fuse_hidden* ?