@Braiam está no local. Você também deve saber que encontrar um arquivo com locate
não significa que ele exista. locate
usa um banco de dados que é atualizado de vez em quando. Não pesquisa o systsem de arquivo atual mas é banco de dados. Você pode executar updatedb
para atualizar o banco de dados antes de pesquisar ou usar o sinalizador -e
:
-e, --existing
Print only entries that refer to files existing at the time locate is run.
Por exemplo:
$ touch stupid_stupid_file.txt
$ locate stupid_stupid_file.txt ## No results
$ sudo updatedb ## refresh database
$ locate stupid_stupid_file.txt
/home/terdon/stupid_stupid_file.txt ## the file was found after updatedb
$ rm stupid_stupid_file.txt ## delete the file
$ locate stupid_stupid_file.txt
/home/terdon/stupid_stupid_file.txt ## the file is still in the database
$ locate -e stupid_stupid_file.txt ## the file is not found using -e