Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Obtenir la date de création d'un fichier

27 réponses
Avatar
Francois Lafont
Bonjour à tous,

Désolé par avance si ma question vous paraît triviale. J'ai vraiment
cherché sur Google et je n'arrive pas à obtenir la date de création d'un
fichier. Je parle bien de la date de création, pas la date de dernière
modification et de dernier accès.

Merci d'avance.


--
François Lafont

10 réponses

1 2 3
Avatar
Erwan David
Nicolas George <nicolas$ écrivait :

Vincent Verdon , dans le message
<4cd6ff13$0$18773$, a écrit :
modification des droits sur le fichier (ctime) ;



Modification de n'importe quoi sur le fichier (sauf atime).



Modification du fichier, mais pas modification de l'inode je pense ?

dernier accès au fichier.



De moins en moins fiable.



Sans compter qu'il faut vraiment dans ces cas là bien faire la
différence entre inode et fichier...

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Avatar
Francois Lafont
Le 07/11/2010 21:01, Luc Habert a écrit :

Pas de date de création donc. Soit. Mais par exemple, si un fichier a
été copié via la commande cp avec l'option --preserve=timestamps,
(comment) puis-je savoir à quel moment cette copie a eu lieu ? J'aurais
tendance à en déduire qu'on ne peut pas, c'est ça ?



Si le fichier n'a pas été modifié entre temps, le ctime te donne ce que tu
veux.



Ok, je voudrais être sûr de bien comprendre. Si je fais ceci :

$ stat fichier
File: «fichier»
Size: 818232 Blocks: 1608 IO Block: 4096 fichier standard
Device: 811h/2065d Inode: 2449598 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 1000/francois) Gid: ( 1000/francois)
Access: 2010-11-07 22:19:55.000000000 +0100
Modify: 2010-04-19 03:51:35.000000000 +0200
Change: 2010-11-07 22:19:54.000000000 +0100

* la dernière ligne est le ctime qui correspond à la date de dernière
modification de l'inode associé au fichier (autrement dit, tout
changement dans le résultat de la sortie de 'stat fichier' provoque une
modification de cette ligne)

* juste au-dessus, c'est le mtime, c'est la date de dernière
modification du contenu du fichier (juste le contenu, rien à voir donc
avec l'inode)

* juste au-dessus, c'est le atime,, c'est la date de dernier accès (sans
forcément modif, avec cat fichier par exemple) du fichier.

Tout cela est-il correct ?



--
François Lafont
Avatar
Luc.Habert.00__arjf
Non. Le ctime est la date de dernière modification (contenu, droits et cie),
et est mis à jour automatiquement par le système et lui seul. Le mtime est
mis à jour dans les mêmes cas par le système. Simplement, le propriétaire du
fichier a en plus le droit de changer le mtime à sa guise, ce qui sert
typiquement pour une recopie de fichier.
Avatar
Nicolas George
Luc Habert, dans le message <ib78u0$2trb$, a écrit :
Non. Le ctime est la date de dernière modification (contenu, droits et cie),
et est mis à jour automatiquement par le système et lui seul. Le mtime est
mis à jour dans les mêmes cas par le système.



Non, le mtime n'est mis à jour que quand le fichier est effectivement
modifié. Un chmod, par exemple, n'affecte pas le mtime, alors qu'il affecte,
évidemment, le ctime.
Avatar
Francois Lafont
Le 07/11/2010 23:24, Luc Habert a écrit :

Non.



Ah zut !

Le ctime est la date de dernière modification (contenu, droits et cie),
et est mis à jour automatiquement par le système et lui seul. Le mtime est
mis à jour dans les mêmes cas par le système. Simplement, le propriétaire du
fichier a en plus le droit de changer le mtime à sa guise, ce qui sert
typiquement pour une recopie de fichier.



Désolé, je ne comprends ce que vous dites. En gros, le ctime et le mtime
changeraient dans les mêmes cas, mais seul le système peut changer le
ctime. Pourtant :

#----------------------------
$ touch Bureau/toto

$ stat Bureau/toto
File: «Bureau/toto»
Size: 0 Blocks: 0 IO Block: 4096 fichier vide standard
Device: 811h/2065d Inode: 2450518 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/francois) Gid: ( 1000/francois)
Access: 2010-11-07 23:28:26.000000000 +0100
Modify: 2010-11-07 23:28:25.000000000 +0100
Change: 2010-11-07 23:28:25.000000000 +0100


$ chmod 777 Bureau/toto

$ stat Bureau/toto
File: «Bureau/toto»
Size: 0 Blocks: 0 IO Block: 4096 fichier vide standard
Device: 811h/2065d Inode: 2450518 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 1000/francois) Gid: ( 1000/francois)
Access: 2010-11-07 23:28:58.000000000 +0100
Modify: 2010-11-07 23:28:25.000000000 +0100
Change: 2010-11-07 23:28:57.000000000 +0100
#----------------------------

Ici, entre avant et après la commande chmod, le ctime a changé, mais pas
le mtime. Où je dis des bêtises ?


--
François Lafont
Avatar
Francois Lafont
Le 07/11/2010 23:30, Nicolas George a écrit :

Non, le mtime n'est mis à jour que quand le fichier est effectivement
modifié. Un chmod, par exemple, n'affecte pas le mtime, alors qu'il affecte,
évidemment, le ctime.



Ah, donc mon petit résumé (deux messages précédents) est-il bien correct
alors ?


--
François Lafont
Avatar
Benoit Izac
Bonjour,

le 07/11/2010 à 23:30, Nicolas George a écrit dans le message
<4cd7287d$0$697$ :

Non. Le ctime est la date de dernière modification (contenu, droits
et cie), et est mis à jour automatiquement par le système et lui
seul. Le mtime est mis à jour dans les mêmes cas par le système.



Non, le mtime n'est mis à jour que quand le fichier est effectivement
modifié. Un chmod, par exemple, n'affecte pas le mtime, alors qu'il
affecte, évidemment, le ctime.



Avec touch -m, on peut très bien changer le mtime sans avoir fait aucun
changement sur le contenu du fichier.

--
Benoit Izac
Avatar
Vincent Verdon
Bonsoir,

Le 07/11/2010 20:59, Nicolas George a écrit :
Vincent Verdon , dans le message
<4cd6ff13$0$18773$, a écrit :
modification des droits sur le fichier (ctime) ;



Modification de n'importe quoi sur le fichier (sauf atime).



Merci de la précision !


dernier accès au fichier.



De moins en moins fiable.



J'avoue ne pas bien comprendre cette dernière remarque.


--
Amicalement, Vincent Verdon
Avatar
Xavier Roche
Vincent Verdon a écrit :
De moins en moins fiable.


J'avoue ne pas bien comprendre cette dernière remarque.



De moins en moins disponible, car beaucoup de systèmes sont montés avec
une option désactivant explicitement la modification de cette
information (coûteuse, car chaque lecture provoque la mise à jour des
meta-données)
Avatar
Tonton Th
On 11/08/2010 08:42 PM, Vincent Verdon wrote:

dernier accès au fichier.



De moins en moins fiable.



J'avoue ne pas bien comprendre cette dernière remarque.



En fait, et en gros, chaque fois que ton système va voir
un fichier, le timestamp de cet évènement est enregistré
dans l'inode, donc il va être tôt ou tard écrit sur le
disque. D'où une certaine activité sur celui-ci, et on
a parfois envie de l'éviter : ne pas réveiller le disque,
ne pas griller une mémoire flash, baisser le trafic réseau,
toussa...

C'est donc parfois désactivé, et les logiciels qui utilisent
cette informations partent visiter la mare aux _/°<....

--
Ma coiffeuse est formidable - http://sonia.buvette.org/
1 2 3