O comando locate localiza arquivos que não estão lá

0

Eu uso um Mac rodando o High Sierra. Estou limpando meu disco rígido e procurando por remanescentes de um programa que excluí do meu Mac. Eu usei o comando locate assim: locate Canopy . Eu já tive o pacote Enthought Canopy instalado. Quando executo esse comando, recebo cerca de 16 instâncias do Canopy. Este é o primeiro: /Applications/Enthought Canopy (64-bit) . As outras 15 linhas são apenas extensões desta. Eu procurei na pasta Aplicativos por um arquivo "Canopy Enthought (64 bits)", mas ele não existe. Se eu usar a linha de comando para tentar cd "/Applications/Enthought Canopy (64-bit)" , ele diz "Nenhum arquivo ou diretório. Alguém sabe por que locate está me dando informações falsas?

    
por jmh 26.07.2018 / 01:48

1 resposta

2

De locate(1) , ou seja, executar man 1 locate , pode-se ler

DESCRIPTION
     The locate program searches a database for all pathnames which match the
     specified pattern.  The database is recomputed periodically (usually
     weekly or daily),

que pode explicar resultados desatualizados. Um pouco além disso existe:

 /System/Library/LaunchDaemons/com.apple.locate.plist  Job that starts the
                                                       database rebuild

, que indica uma reconstrução semanal. (Isso está em uma versão do Mac OS X 10.11, então a Apple pode ter mexido com as coisas desde então.)

Mais típico no macOS pode ser usar mdfind ou ferramentas semelhantes que se ligam ao banco de dados Spotlight; esse banco de dados pode ser atualizado com mais freqüência do que o banco de dados de localização. (Mas eu desabilitei as ferramentas do Spotlight enquanto elas enlouquecem com E / S no meu velho disco rígido de 2009 do metal fino ...)

    
por 26.07.2018 / 01:56

Tags