Como posso localizar um arquivo usando locate
em CentOS
em um diretório específico do terminal? Localize, pesquise todo o banco de dados!
Resposta
Não há opção para essa funcionalidade na saída de man locate
no CentOS 6.5, pelo menos. Mas, você pode obter pseudo-funcionalidade alterando um termo de pesquisa. Por exemplo, locate cron
pode produzir saída em excesso, mas locate "/var/log/cron"
limitaria os resultados a esses itens no locate
banco de dados que corresponde aos termos de pesquisa. Ou um pipe funcionaria: locate cron | grep "/var/log/"
Caso contrário, use find: find /path/to/search -name "*cron*"
ou semelhante.
Resposta
locate
não parece ter uma opção para fazer isso, mas você ainda pode pesquisar diretórios específicos usando um dos seguinte:
- Use curingas em sua pesquisa. Exemplo:
locate "*/directory/*filename*"
- Use
grep
comlocate
. Exemplo:locate filename | grep /directory/
- Use o comando
find
. Exemplo:find /my/directory/ -name filename
. Você também pode restringir sua pesquisa a diretórios ou arquivos anexando-type d
ou-type f
. Para localizar um arquivo chamado “myScript” em sua pasta pessoal, você pode fazer o seguinte:find ~/ -name myScript -type f
. Isso irá procurar um arquivo (não diretórios) com o nome exatamente “myScript” dentro de sua pasta pessoal.