Qu'est-ce que le temps d'accès à Unix
Je veux savoir ce que le temps d'accès est. J'ai cherché sur le web mais j'ai reçu la même définition:
lecture est changé
Je sais avec touch
nous pouvons la changer. Quelqu'un pourrait-il m'expliquer plus sur le sujet avec un exemple de la façon dont il est changé? Et est-il un moyen d'obtenir la création de date/heure dans unix?
OriginalL'auteur Arav | 2010-08-02
Vous devez vous connecter pour publier un commentaire.
La
stat(2)
structure conserve la trace de tous à la date du fichier/temps:st_atime
est le accès temps, mis à jour leread(2)
appels (et probablement aussi lorsqueopen(2)
ouvre un fichier en lecture) -- il n'est PAS mis à jour lorsque les fichiers sont lus viammap(2)
. (C'est pourquoi je supposeopen(2)
marquera le temps d'accès.)st_mtime
est le données heure de modification, soit par l'intermédiaire dewrite(2)
outruncate(2)
ouopen(2)
pour l'écriture. (Encore une fois, il n'est PAS mis à jour lorsque les fichiers sont écrits parmmap(2)
.)st_ctime
est le métadonnées date de modification: lorsque toutes les autres données dans lestruct stat
se modifie.Vous pouvez modifier la date et l'heure sur les fichiers avec
utime(2)
:Remarque vous ne pouvez modifier le temps d'accès (données) date et heure de modification. Vous pouvez définir l'une de ces arbitraire de fois, mais la
ctime
va être le temps actuel-parce que vous avez changé les métadonnées du fichier.Il n'existe pas de créer de temps dans cette structure, il n'est donc pas possible de savoir si un fichier a été créé directement à partir du système.
Si vous avez vraiment besoin de savoir l'heure de création, vous pouvez la réduire à une plage en regardant vos sauvegardes -- en supposant que le fichier qui vous intéresse a été sauvegardé avec ses métadonnées.
est juste à court de main pour
read(2)
,pread(2)
,readv(2)
,readdir(2)
,readlink(2)
,splice(2)
,sendfile(2)
, et ainsi de suite. En d'autres termes, tout ce qui lit le contenu du fichier. Donc, si votre programme a lire un fichier, il peut modifier le temps d'accès du fichier lu. (Bien sûr, certains systèmes de fichiers désactiver les temps d'accès pour les performances ou la fiabilité.) si vous voulez trouver des programmes qui utilisent des appels système, vous pouvez faire quelque chose comme ceci:for f in /bin/* /usr/bin/* /sbin/* /usr/sbin/* ; do readelf -s $f | grep -q readdir@GLIBC && echo $f ; done 2> /dev/null
ne vi ou chat utilise la lecture de l'appel système. J'ai essayé, mais c'était de ne pas modifier les temps d'accès
OriginalL'auteur sarnold
dernier accès: Temps lorsque le fichier de données du dernier accès. Modifié par le mknod(2), utimes(2) et de lecture(2) les appels système.
dernière modification: le Temps lorsque le fichier de données de la dernière modification. Modifié par le mknod(2), utimes(2) et write(2) les appels système.
dernière modification: Temps lors de l'état des fichiers a été modifié (inode de modification de données). Modifié par le chmod(2), chown(2), link(2), mknod(2), rename(2), unlink(2), utimes(2) et write(2) les appels système.
OriginalL'auteur prodigitalson
Contrairement à la réponse ci-dessus, la création ou le fait de "naissance" date est stockée et peut être consulté, voir
https://unix.stackexchange.com/a/50184/8250
(le debugfs doit être fait avec sudo)
OriginalL'auteur Michael
le temps moyen entre une demande d'informations stockées dans un composant particulier tels que le hard dériver ou de la RAM et c'est la livraison. Sur l'autre mot de temps entre le moment où une demande de lecture et lorsque le mot souhaité vient. Par exemple 235,288 unités/13,82 transactions = 16.8 unités par transaction.
OriginalL'auteur user3038264