Ich kämpfe darum, mich zu überlegen, warum die find
Änderungen an der Interprets-Datei so sind wie sie sind. Insbesondere verstehe ich nicht, warum auf dem -mtime +1
Bildschirm keine Dateien angezeigt werden, die älter als 48 Stunden sind.
Als Beispieltest habe ich drei Testdateien mit unterschiedlichen Änderungsdaten erstellt:
[root@foobox findtest]# ls -l
total 0
-rw-r--r-- 1 root root 0 Sep 25 08:44 foo1
-rw-r--r-- 1 root root 0 Sep 24 08:14 foo2
-rw-r--r-- 1 root root 0 Sep 23 08:14 foo3
Ich lief dann find mit dem -mtime +1
Schalter und bekam folgende Ausgabe:
[root@foobox findtest]# find -mtime +1
./foo3
Ich lief dann find mit -mmin +1440
und bekam folgende Ausgabe:
[root@foobox findtest]# find -mmin +1440
./foo3
./foo2
Laut der Handbuchseite für find verstehe ich, dass dies ein erwartetes Verhalten ist:
-mtime n
File’s data was last modified n*24 hours ago. See the comments
for -atime to understand how rounding affects the interpretation
of file modification times.
-atime n
File was last accessed n*24 hours ago. When find figures out
how many 24-hour periods ago the file was last accessed, any
fractional part is ignored, so to match -atime +1, a file has to
have been accessed at least two days ago.
Das ergibt für mich immer noch keinen Sinn. Wenn eine Datei also 1 Tag, 23 Stunden, 59 Minuten und 59 Sekunden alt ist, find -mtime +1
ignoriert sie das alles und behandelt sie einfach so, als ob sie 1 Tag, 0 Stunden, 0 Minuten und 0 Sekunden alt wäre? In welchem Fall ist es nicht technisch älter als 1 Tag und wird ignoriert?
Berechnet ... nicht ....