J'ai essayé d'utiliser la commande
ls --time=atime
il fonctionnait dans un répertoire mais ne fonctionnait pas dans un autre répertoire. J'ai ouvert certains fichiers dans vim, evince et d'autres applications mais après la commande, les temps d'accès au fichier n'ont pas été modifiés.
Lorsque je tape, touch file.txt
le temps d'accès est modifié, mais lorsque je tape, vim file.txt
le temps d'accès n'est pas modifié.
Qu'est-ce qui ne va pas ici?
filesystems
files
ls
atime
xralf
la source
la source
vim file.txt
? Quittez-vous vim par:q
ou:wq
? Si vous n'écrivez pas,vim
ne modifie pas le temps d'accès au fichier - c'est par conception..jpg
extension, il n'est pas modifié. Lorsque je l'ouvre dans la visionneuse d'images, cela n'a pas changé non plus. J'ai besoin que le temps d'accès soit modifié à chaque fois que le fichier a été lu par une application.Réponses:
Avec les options de montage par défaut, les temps d'accès sont traités d'une manière spéciale sur Linux:
L'
relatime
option de montage est devenue l' option par défaut depuis le noyau linux 2.6.30. C'est la raison dels --time=atime
ne pas lister ce que vous attendez.Solution: Pour utiliser un comportement strict (hérité) pour atime, utilisez l'
strictatime
option de montage (par exemple dans/etc/fstab
).Remarque: Pour désactiver complètement les mises à jour atime, on peut utiliser
noatime
.la source
strictatime
?relatime
préserve la compatibilité de ces programmes. En fait, très peu de programmes en dépendent encore, et son utilisation est souvent sûrenoatime
.strictatime
fonctionnalité telle que je l'essaie aujourd'hui, mais si elle ralentit le système, je voudrais la définirstrictatime
uniquement dans certains répertoires, si cela est possible.strictatime
qui utiliserait ce répertoire comme point de montage.Vous pouvez désactiver l'enregistrement du temps d'accès pour certains systèmes de fichiers (recherchez
noatime
dans/etc/fstab
). Pour tester cela, vous pouvez essayertouch -a file; ls -l --time=atime file
, puis répétertouch -a file; ls -l --time=atime file
pour voir si cela change.Le
ls
comportement est expliqué parman ls
:ls -l --time=atime
affiche l'heure d'accès dans la colonne date / heure. Pour trier par cette clé, vous devez également utiliser--sort=time
.Si vous par "l'heure n'est pas modifiée" signifie qu'il montre le même résultat, c'est parce que atime est désactivé pour le système de fichiers (voir
/etc/fstab
) ou parce que l'heure d'accès est vraiment la même que l'heure de modification (assez courante).Notez que la liste des fichiers ne modifie pas leur temps d'accès - Les fichiers ne sont pas accessibles par
ls
, uniquement le cache d'inode .la source
ls -l --time=atime
l'heure n'est pas modifiée (je suppose que la colonne avec l'heure est atime) et que l'ordre de tri n'est pas modifié, les fichiers avec la dernière heure doivent être au début ou à la fin de la liste (s'ils ont été accédés pour la dernière fois ).touch
etls
? J'ai édité la réponse pour la rendre plus évidente.Il peut également être utile lors de tests comme celui-ci d'ajouter l'
--full-time
indicateur àls
afin que vous puissiez voir les secondes et les sous-secondes afin de pouvoir voir l'effet sans être contraint par des limites de minutes.la source