Von man touch
(auf Schneeleopard):
Change the modification time of the file. The access time of the file is not changed unless the -a flag is also specified.
Noch wichtiger ist, es funktioniert gut für mich:
betelgeuse:tmp james$ touch test betelgeuse:tmp james$ touch -m -t 200801010000 test2 betelgeuse:tmp james$ touch -a -t 200801010000 test3 betelgeuse:tmp james$ ls -lu test* -rw-r--r-- 1 james wheel 0 31 Dec 07:41 test -rw-r--r-- 1 james wheel 0 31 Dec 07:41 test2 -rw-r--r-- 1 james wheel 0 1 Jan 2008 test3 betelgeuse:tmp james$ ls -l test* -rw-r--r-- 1 james wheel 0 31 Dec 07:41 test -rw-r--r-- 1 james wheel 0 1 Jan 2008 test2 -rw-r--r-- 1 james wheel 0 31 Dec 07:41 test3 betelgeuse:tmp james$
Andererseits, wenn ich dasselbe in ~ versuche, erhalte ich dieselben Ergebnisse wie Sie:
betelgeuse:~ james$ touch test betelgeuse:~ james$ touch -m -t 200801010000 test2 betelgeuse:~ james$ touch -a -t 200801010000 test3 betelgeuse:~ james$ ls -lu test* -rw-r--r-- 1 james staff 0 31 Dec 07:42 test -rw-r--r-- 1 james staff 0 31 Dec 07:42 test2 -rw-r--r-- 1 james staff 0 31 Dec 07:42 test3
Der Unterschied? Spotlight kann / tmp nicht indizieren, aber ~. Ich bin mir ziemlich sicher, dass Sie hier das Spotlight lesen, um die Datei zu indizieren, nachdem Sie die atime geändert haben. Dadurch wird die atime wieder auf jetzt gesetzt.
Lösung ist einfach: Fügen Sie einfach die Verzeichnisse hinzu, die nicht indiziert werden sollen, zur Liste der Ordner, die nicht indiziert werden sollen.
Um dies zu bestätigen, habe ich ein neues Verzeichnis namens "nospotlight" erstellt und Spotlight angewiesen, es nicht zu indizieren.
betelgeuse:nospotlight james$ ls -l * -rw-r--r-- 1 james staff 0 31 Dec 07:47 test -rw-r--r-- 1 james staff 0 1 Jan 2008 test2 -rw-r--r-- 1 james staff 0 31 Dec 07:47 test3 betelgeuse:nospotlight james$ ls -lu * -rw-r--r-- 1 james staff 0 31 Dec 07:47 test -rw-r--r-- 1 james staff 0 31 Dec 07:47 test2 -rw-r--r-- 1 james staff 0 1 Jan 2008 test3
Erteilen Sie Spotlight die Berechtigung zum Indizieren, und Sekunden später:
betelgeuse:nospotlight james$ ls -lu * -rw-r--r-- 1 james staff 0 31 Dec 07:48 test -rw-r--r-- 1 james staff 0 31 Dec 07:48 test2 -rw-r--r-- 1 james staff 0 31 Dec 07:48 test3
und noch einmal, das Ändern der mtime führt zu einem aktualisierten Zeitpunkt.
Es ist definitiv Spotlight.