Os sistemas * nix geralmente possuem um utilitário locate
instalado. Ele tem um banco de dados, geralmente atualizado todas as noites, que tem os nomes de (quase) todos os arquivos em seu sistema. Basta executar:
locate /path/to/dir/of/interest
e você deverá ver uma lista de arquivos que estavam nesse diretório desde a última atualização do banco de dados. Você pode diferenciar isso com a lista atual.
Como ele será substituído automaticamente por uma nova versão, você pode fazer uma cópia de backup desse banco de dados agora. Em sistemas influenciados pelo debian, ele é armazenado em /var/lib/mlocate/mlocate.db
.
Como mostrar arquivos ausentes
-
Faça um backup do banco de dados antigo:
cp /var/lib/mlocate/mlocate.db ~/old.db
-
Atualize o banco de dados. O comando para fazer isso pode variar. Em um sistema parecido com o debian, tente:
sudo /etc/cron.daily/mlocate
-
Obtenha as listas de arquivos novas e antigas para o seu diretório:
locate -d ~/old.db /your/dir | sort >~/old.list locate /your/dir | sort >~/new.list
-
Obtenha uma lista de todos os arquivos novos e ausentes:
diff ~/old.list ~/new.list
Notas adicionais
-
Nem todos os arquivos estão listados no banco de dados do locate. Um arquivo de configuração, normalmente
/etc/updatedb.conf
, determina quais arquivos e diretórios são excluídos. -
No passado, usei uma versão de
locate
que, por padrão, listaria apenas os arquivos que ainda existem. Se esse for o caso do seulocate
, você deverá desativar esse recurso.