Sto lottando per capire perché il find
interprete modifica i file volte in questo modo. In particolare, non capisco perché -mtime +1
non mostri i file con meno di 48 ore.
Come esempio di test ho creato tre file di test con date modificate diverse:
[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
Ho quindi eseguito find con lo -mtime +1
switch e ho ottenuto il seguente output:
[root@foobox findtest]# find -mtime +1
./foo3
Ho quindi eseguito find con il -mmin +1440
e ho ottenuto il seguente output:
[root@foobox findtest]# find -mmin +1440
./foo3
./foo2
Per quanto riguarda la pagina man per trovare, capisco che questo è un comportamento previsto:
-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.
Questo comunque non ha senso per me. Quindi se un file ha 1 giorno, 23 ore, 59 minuti e 59 secondi, find -mtime +1
ignora tutto ciò e lo tratta come se fosse 1 giorno, 0 ore, 0 minuti e 0 secondi? In tal caso, non è tecnicamente più vecchio di quel giorno e ignorato?
... non ... calcola.