diferença entre o comando “whereis”, “locate” e “find”

2

quais são as diferenças entre o comando whereis , locate e find no Ubuntu? Quais são as diferenças basicamente de acordo com o ponto de vista da pesquisa?

    
por Avani badheka 03.10.2016 / 14:58

2 respostas

3

De página de ajuda do GNU findutils

% bl0ck_qu0te%

Portanto, find é o que você usa quando deseja pesquisar por critérios específicos e também manipular arquivos. Ele tem muito mais opções do que locate , portanto, permite um controle muito mais refinado dos resultados. É lento porque executa o (s) teste (s) solicitado (s) em cada arquivo para ver se ele corresponde.

locate é usado para varrer todo o sistema rapidamente para algo - você pode usar isso quando não tem idéia de onde está algo ou quando deseja localizar todos os arquivos relacionados espalhados por vários locais desconhecidos. É rápido porque usa um banco de dados binário para indexar o sistema. Para obter novos arquivos, primeiro execute sudo updatedb (o banco de dados é atualizado uma vez por dia por cron

o comando whereis simplesmente retorna a localização dos executáveis, as páginas man e as fontes de um programa (veja man whereis )

    
por Zanna 03.10.2016 / 15:07
1

A grande diferença é que find pesquisa arquivos reais recursivamente em um determinado diretório, enquanto locate pesquisa um banco de dados sem precisar de um diretório específico. Portanto, se você salvou um arquivo antes de atualizar o banco de dados, find irá encontrá-lo, mas locate não o fará.

Quanto a whereis e which , eles pesquisam somente dentro dos diretórios que são mencionados em sua variável PATH e somente aqueles com permissão de executável definida

    
por Sergiy Kolodyazhnyy 03.10.2016 / 15:30