Encontre arquivos que foram acessados depois que eles foram criados

3

Com o comando find, é fácil encontrar arquivos que foram modificados ou acessados dentro de um determinado período.

Quando um arquivo é criado, o tempo de acesso é o mesmo que o tempo de modificação. Mas assim que é acessado (lido), o tempo de acesso muda, mas o tempo de modificação não.

Eu preciso encontrar arquivos que foram acessados, ou seja, arquivos que têm tempo de acesso mais recente que o tempo de modificação.

Como faço isso?

    
por marlar 10.09.2010 / 21:14

2 respostas

2

Isso deve funcionar:

find -type f -print0 | xargs -0 -I % find -path % -anewer %
    
por 10.09.2010 / 21:43
2

Eu não acho que haja uma maneira de fazer isso em uma única travessia com o GNU find (sem falar no POSIX find). É um simples one-liner com File::Find do Perl:

perl -MFile::Find -e 'find({wanted => sub {print "$File::Find::name\n" if -f && -M _ > -A _}}, @ARGV);' .

Certifique-se de que seus arquivos estejam montados sem a opção noatime ou relatime - as distribuições recentes do Linux tendem a usá-lo por padrão.

    
por 10.09.2010 / 21:48

Tags