GNU/Linux >> Tutoriels Linux >  >> Linux

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

Il existe 3 types d'"horodatages" :

  • Accès - la dernière fois que le fichier a été lu
  • Modifier - la dernière fois que le fichier a été modifié (le contenu a été modifié)
  • Modifier :la dernière fois que les métadonnées du fichier ont été modifiées (par exemple, les autorisations)

Pour afficher ces informations, vous pouvez utiliser stat qui fait partie des coreutils.

stat vous montrera également plus d'informations comme l'appareil, les inodes, les liens, etc.

N'oubliez pas que ce type d'informations dépend fortement du système de fichiers et des options de montage. Par exemple si vous montez une partition avec le noatime option, aucune information d'accès ne sera écrite.

Un utilitaire pour changer les horodatages serait touch .Il y a quelques arguments pour décider quel horodatage changer (par exemple -a pour l'heure d'accès, -m pour l'heure de modification) et pour influencer l'analyse d'un nouvel horodatage donné.Voir man touch pour plus de détails.

touch peut devenir pratique en combinaison avec cp -u ("copier uniquement lorsque le fichier SOURCE est plus récent que le fichier de destination ou lorsque le fichier de destination est manquant" ) ou pour la création de fichiers marqueurs vides.


La réponse d'echox est valide mais je souhaite ajouter des informations concernant l'heure de création du fichier.

Prise en charge du système de fichiers

Certains systèmes de fichiers prennent en charge une entrée supplémentaire dans l'inode concernant l'heure de création (ou l'heure de naissance). Je sais que ext4 prend en charge cette fonctionnalité ainsi que JFS et BTRFS.

Cependant, la plupart des outils et API n'ont pas encore été mis à jour pour lire ces informations supplémentaires. Donc, même s'il pourrait être là, il n'est pas accessible.

Par exemple, sur Ubuntu 12.04 LTS, j'obtiens ce qui suit pour un fichier que j'ai créé aujourd'hui :

$ echo Just another test > /tmp/mytest
$ sleep 3
$ touch /tmp/mytest
$ sleep 2
$ cat /tmp/mytest > /dev/null
$ stat /tmp/mytest 
[...]
Access: 2012-06-05 13:33:44.279774711 +0200
Modify: 2012-06-05 13:33:34.611893317 +0200
Change: 2012-06-05 13:33:34.611893317 +0200
 Birth: -
$ sudo debugfs -R 'stat /tmp/mytest' /dev/sda1
[...]
 ctime: 0x4fcdee8e:91e30114 -- Tue Jun  5 13:33:34 2012
 atime: 0x4fcdee98:42b417dc -- Tue Jun  5 13:33:44 2012
 mtime: 0x4fcdee8e:91e30114 -- Tue Jun  5 13:33:34 2012
crtime: 0x4fcdee46:01258f1c -- Tue Jun  5 13:32:22 2012
[...]

Vous pouvez voir que la nouvelle fonction stat a un champ de naissance, bien que la sortie semble incorrecte. Et via debugfs, nous pouvons obtenir les informations (crtime car je suis sur le système de fichiers ext4).

prise en charge de statx

Il y a maintenant depuis le noyau 4.11 un nouvel appel système statx, en plus d'un meilleur support de Y2038 ou des systèmes de fichiers réseau, il apporte également quelques fonctionnalités supplémentaires comme le btime ou l'accès à l'heure de naissance (heure de création). La prise en charge d'ext4 devrait être dans la même version 4.11 du noyau.

Il y a eu des correctifs pour ajouter la prise en charge de ce nouvel appel système dans les versions ultérieures du noyau :par ex. BTRFS et F2FS dans le noyau 4.13, SMB3 dans 4.14, GFS2 dans 4.15, NFS dans 4.16, etc.

La prochaine glibc fournira un appel de fonction pour interroger cette interface (voir les nouvelles de Phoronix sur le support de glibc statx). Nous pouvons donc nous attendre à ce que cette fonctionnalité soit bientôt prise en charge dans l'espace utilisateur.


Linux
  1. Obtenir l'âge du fichier donné ?

  2. Sortie vers Stdout et en même temps Grep dans un fichier ?

  3. Autorisations de fichiers et sauvegarde ?

  4. Qu'est-ce qui compte comme une modification ou un changement de fichier ?

  5. Rediriger et canaliser la sortie ?

Comment obtenir la date et l'heure actuelles en Python

Empêcher les fichiers et les dossiers d'être supprimés ou modifiés accidentellement sous Linux

Tune2fs :dans quel fuseau horaire la date est-elle créée et est-il possible de la modifier ?

Threads et descripteurs de fichiers

Regarder le système de fichiers en temps réel sur OS X et Ubuntu

La commande ftp affiche une heure de modification de fichier différente