updatedb
/ locate
é certamente uma boa opção, se você estiver procurando indexar nomes de arquivos. Veja / upvote a resposta do cYrus.
No entanto, outra opção é simplesmente usar find
para listar os nomes de todos os arquivos em seu disco rígido e colocá-los em um arquivo:
sudo find / > files.list
Mais tarde, você pode procurar por arquivos com grep
:
grep 'myfavoritesong' files.list
Embora isso pareça muito ruim, na verdade, ele tende a ser rápido na prática, mesmo quando você tem muitos arquivos.
Claro, isso dificilmente faz algo melhor que locate
. No entanto, é uma maneira rápida e fácil de indexar discos rígidos externos.
Para continuar, você pode querer fazer o hash de todos os arquivos em seu disco rígido:
sudo find / -type f -exec sha256sum {} \; > files.sha256
Isso provavelmente levará muito tempo.
O que isso faz para você é dar a você uma maneira de localizar arquivos idênticos. Digamos que você encontre um arquivo .iso
enorme no seu computador:
$ sha256sum huge.iso
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 huge.iso
Você tem a sensação de que o mesmo arquivo existe em outro lugar no disco rígido e deseja excluir um deles para economizar espaço. Você pode percorrer a lista de hashes para encontrá-lo:
$ grep 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 files.sha256
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 huge.iso
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 archive/path/to/other/huge.iso