Ich habe versucht, Befehl zu verwenden
ls --time=atime
Es funktionierte in einem Verzeichnis, aber nicht in einem anderen Verzeichnis. Ich habe bestimmte Dateien in vim, evince und anderen Anwendungen geöffnet, aber nach dem Befehl wurden die Dateizugriffszeiten nicht geändert.
Wenn ich tippe, wird touch file.txt
die Zugriffszeit geändert, aber wenn ich tippe, wird vim file.txt
die Zugriffszeit nicht geändert.
Was ist hier falsch?
filesystems
files
ls
atime
xralf
quelle
quelle
vim file.txt
? Kündigst du vim von:q
oder:wq
? Wenn Sie nicht schreiben,vim
wird die Zugriffszeit der Datei nicht geändert - dies ist beabsichtigt..jpg
Erweiterung öffne, wird sie nicht geändert. Wenn ich es im Bildbetrachter öffne, wird es auch nicht geändert. Ich muss die Zugriffszeit jedes Mal ändern, wenn die Datei von einer Anwendung gelesen wurde.Antworten:
Mit den Standard-Einhängeoptionen werden Zugriffszeiten unter Linux auf besondere Weise behandelt:
Die
relatime
Mount-Option wurde seit Linux-Kernel 2.6.30 zur Standardoption gemacht . Das ist der Grund, warum Siels --time=atime
nicht das auflisten, was Sie erwarten.Lösung: Um ein striktes (altes) Verhalten für eine bestimmte Zeit zu verwenden, verwenden Sie die
strictatime
Option mount (z/etc/fstab
.B. in).Hinweis: Um atime-Updates vollständig zu deaktivieren, können Sie verwenden
noatime
.quelle
strictatime
?relatime
die Kompatibilität für diese Programme. Tatsächlich verlassen sich nur noch sehr wenige Programme darauf, und die Verwendung ist häufig sichernoatime
.strictatime
Funktion, wie ich sie heute versuche, aber wenn sie das System verlangsamt, möchte ich siestrictatime
nur in bestimmten Verzeichnissen einstellen , wenn dies möglich ist.strictatime
diesem Verzeichnis als Einhängepunkt gemountet wird.Sie können die Zugriffszeiterfassung für einige Dateisysteme deaktivieren (suchen Sie nach
noatime
in/etc/fstab
). Um dies zu testen, können Sie es versuchentouch -a file; ls -l --time=atime file
und dann wiederholen,touch -a file; ls -l --time=atime file
um festzustellen, ob es sich ändert.Das
ls
Verhalten wird erklärt durchman ls
:ls -l --time=atime
Zeigt die Zugriffszeit in der Spalte Datum / Uhrzeit an. Um nach diesem Schlüssel zu sortieren, müssen Sie ebenfalls verwenden--sort=time
.Wenn Sie mit "Die Zeit wird nicht geändert" meinen, dass es das gleiche Ergebnis zeigt, liegt das entweder daran, dass atime für das Dateisystem deaktiviert ist (siehe
/etc/fstab
) oder dass die Zugriffszeit tatsächlich mit der Änderungszeit übereinstimmt (ziemlich häufig).Beachten Sie, dass das Auflisten von Dateien ihre Zugriffszeit nicht ändert. Auf die Dateien
ls
wird nur über den Inode-Cache zugegriffen .quelle
ls -l --time=atime
tippe, wird die Uhrzeit nicht geändert (ich gehe davon aus, dass die Spalte mit der Uhrzeit aktuell ist), und die Sortierreihenfolge wird nicht geändert. Die Dateien mit der letzten Uhrzeit sollten am Anfang oder am Ende der Liste stehen (sofern zuletzt auf sie zugegriffen wurde) ).touch
und wiederholtls
? Ich habe die Antwort bearbeitet, um sie deutlicher zu machen.Bei solchen Tests kann es auch nützlich sein, das
--full-time
Flagls
so hinzuzufügen , dass Sie Sekunden und Teilsekunden sehen, damit Sie den Effekt sehen können, ohne durch Minutengrenzen eingeschränkt zu sein.quelle