É possível que a questão do timzeone seja um problema.
find . -mtime 7
deve encontrar arquivos com exatamente sete dias ("sete" significando entre 7.000 e 7.999 dias, mais ou menos, e "antigo" significando "desde a última modificação"). Se você quiser arquivos com mais de sete dias, que, a julgar pela data em seu primeiro arquivo (junho de 2010), tente
find . -mtime +7
Concordo com você sobre o fuso horário aparente ser estranho, mas acho que é explicável. man stat
está claro que um time_t é armazenado, como diz Sean R abaixo. O que ls
está fazendo é exibir isso como uma hora local, e está sendo gentil o suficiente para levar em conta as convenções locais de horário de verão quando isso acontece.
Meu sistema é o mesmo: os horários dos arquivos que caem em março-outubro são mostrados com um fuso horário de +0100, enquanto aqueles que caem em out-março são mostrados com um fuso horário de + 0000, não porque estejam armazenados no arquivo mas porque o arquivo fuso horário diz ao meu sistema que, em junho, quando eu toquei no arquivo, eu teria feito isso em um horário que eu pensava que era 8 da manhã, não seria 7 da manhã se fosse o inverno. ls
é gentil o suficiente, ao exibir os horários que acontecem no verão, para mostrá-los como eles teriam aparecido no verão, isso é tudo.
Se você puder encontrar fusos horários na sua saída ls que não sejam verão ou inverno de acordo com sua convenção local, então eu estou errado - mas não consigo encontrar nenhum no meu sistema.