Je veux savoir quel est le temps d'accès. cherché dans le web mais obtenir la même définition (les lectures sont changées). Je sais avec tact que nous pouvons le changer. Quelqu'un pourrait-il m'expliquer plus à ce sujet avec un exemple comment il est changé. Aussi est-il possible de trouver la date et l'heure de création de fichier dans unix?Concernant le temps d'accès unix
Répondre
La structure stat(2)
garde la trace de toutes la date du fichier/fois:
struct stat {
dev_t st_dev; /* ID of device containing file */
ino_t st_ino; /* inode number */
mode_t st_mode; /* protection */
nlink_t st_nlink; /* number of hard links */
uid_t st_uid; /* user ID of owner */
gid_t st_gid; /* group ID of owner */
dev_t st_rdev; /* device ID (if special file) */
off_t st_size; /* total size, in bytes */
blksize_t st_blksize; /* blocksize for file system I/O */
blkcnt_t st_blocks; /* number of 512B blocks allocated */
time_t st_atime; /* time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last status change */
};
st_atime
est le accès temps, mis à jour sur read(2)
appels (et probablement aussi lorsque open(2)
ouvre un fichier pour la lecture) - il n'est PAS mis à jour lorsque les fichiers sont lus via mmap(2)
. (Ce qui est la raison pour laquelle je suppose open(2)
marquera le temps d'accès.)
st_mtime
est le données temps de modification, soit par write(2)
ou truncate(2)
ou open(2)
pour l'écriture. (Encore une fois, il est pas mis à jour lorsque les fichiers sont écrits par mmap(2)
.)
st_ctime
est les métadonnées temps de modification: lorsque l'une des autres données dans le struct stat
se modifie.
Vous pouvez modifier les horodateurs sur les fichiers avec utime(2)
:
struct utimbuf {
time_t actime; /* access time */
time_t modtime; /* modification time */
};
Notez que vous ne pouvez changer le temps d'accès et (données) temps de modification. Vous pouvez définir l'un ou l'autre à des heures arbitraires, mais le ctime
sera défini sur l'heure actuelle, car vous avez modifié les métadonnées du fichier.
Il n'y a pas de temps de création dans cette structure, il n'est donc pas possible de savoir quand un fichier a été créé directement à partir du système. Si vous avez vraiment besoin de connaître 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é, ainsi que ses métadonnées.
dernier accès: heure à laquelle les données du fichier ont été accédées en dernier. Modifié par les appels système mknod (2), utimes (2) et read (2).
Dernière modification: Heure de la dernière modification des données du fichier. Modifié par les appels système mknod (2), utimes (2) et write (2). Last changed: Heure à laquelle l'état du fichier a été modifié pour la dernière fois (modification des données inode). Changé par les appels système chmod (2), chown (2), link (2), mknod (2), renommer (2), unlink (2), utimes (2) et write (2).
quand j'utilise l'éditeur vi ou la commande cat cette fonction utilise-t-elle les appels système en lecture. où puis-je trouver la liste des commandes unix qui utilisent les appels système read ou utimes ou mknod – Arav
le temps moyen entre une demande d'information stockée dans un composant particulier tel que le disque dur ou la RAM et sa livraison. De l'autre côté, le temps entre une demande de lecture et le moment où le mot désiré arrive. Par exemple 235 288 unités/13,82 transactions = 16,8 unités par transaction.
Contrairement à une réponse ci-dessus, la création ou effectivement la « date de naissance » est stocké et peut être consulté, voir https://unix.stackexchange.com/a/50184/8250 (les debugfs doit se faire sous sudo)
- 1. Comment décomposer le temps unix en C
- 2. iPhone Dev: Travailler avec le temps unix?
- 3. Afficher seulement le temps de fonctionnement de disponibilité [unix]
- 4. Le temps Python Unix ne fonctionne pas en Javascript
- 5. Aide sur l'heure UNIX pour le temps humain
- 6. Horodatage Unix et temps JavaScript; trop grand!
- 7. Différence de temps entre les horodatages unix
- 8. PHP date get comme Unix Epoch temps
- 9. Question concernant le pays
- 10. Conseils concernant le cryptage
- 11. Convertir un temps Unix/Linux en Windows FILETIME
- 12. Commande de temps UNIX - l'heure d'entrée est-elle factorisée?
- 13. Javascript - Temps Unix pour un fuseau horaire spécifique
- 14. temps d'impression au format 24 heures sous unix
- 15. Conversion d'une chaîne de temps pour l'horodatage UNIX
- 16. jquery il y a un temps avec unix époque
- 17. Temps de modification du fichier (secondes) sous Unix
- 18. Question concernant le gestionnaire d'interruption
- 19. Question concernant le profilage python
- 20. concernant le licenciement par courriel
- 21. Question concernant le modèle d'usine
- 22. Questions concernant le programme de calcul Pi
- 23. Commandes Unix (vs) Unix
- 24. Unix C dup2 Question
- 25. question concernant la taille de la page
- 26. quelques questions concernant pthread_mutex_lock
- 27. concernant netem
- 28. concernant javac
- 29. commande unix pour le total
- 30. Deux questions concernant Scrum
quand j'utiliser l'éditeur vi ou commande de chat ne cette fonction utilise les appels système en lecture. où puis-je trouver la liste des commandes unix qui utilisent les appels système read ou utimes ou mknod – Arav
@arav, 'read (2)' est juste raccourci pour 'read (2)', 'pread (2)', 'readv (2), readdir (2), readlink (2), splice (2), sendfile (2), etc. En d'autres termes, tout ce qui lit le contenu du fichier. Donc, si votre programme a lu un fichier, il peut modifier l'heure d'accès du fichier lu. (Bien sûr, certains systèmes de fichiers désactivent les temps d'accès pour la performance ou la fiabilité.) Si vous voulez trouver des programmes qui utilisent des appels système spécifiques, vous pouvez faire quelque chose comme: 'f/bin/*/usr/bin/*/sbin/*/usr/sbin/*; faire lire -s $ f | grep -q readdir @ GLIBC && echo $ f; done 2>/dev/null' – sarnold
vi ou cat utilise l'appel système read. J'ai essayé mais il ne modifiait pas le temps d'accès – Arav