Estou lutando para entender por que a find
modificação dos arquivos de interpretação interpreta o tempo como acontece. Especificamente, não entendo por que o -mtime +1
arquivo não mostra arquivos com menos de 48 horas.
Como exemplo de teste, criei três arquivos de teste com diferentes datas de modificação:
[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
Em seguida, corri find com o -mtime +1
switch e obtive a seguinte saída:
[root@foobox findtest]# find -mtime +1
./foo3
Em seguida, executei o find com o -mmin +1440
e obtive a seguinte saída:
[root@foobox findtest]# find -mmin +1440
./foo3
./foo2
De acordo com a página de manual do find, entendo que este é um comportamento esperado:
-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.
Isso ainda não faz sentido para mim. Portanto, se um arquivo tiver 1 dia, 23 horas, 59 minutos e 59 segundos, find -mtime +1
ignora tudo isso e o trata como se tivesse 1 dia, 0 horas, 0 minutos e 0 segundos? Nesse caso, não é tecnicamente mais antigo que 1 dia e ignorado?
Não computa.