Localização de arquivos por nome
O comando locate pesquisa arquivos com base no nome ou caminho para o arquivo. O comando é rápido porque procura essa informações no banco de dados mlocate. No entanto, esse banco de dados não é atualizado em tempo real e exige atualizações frequentes para obter resultados precisos. Esse recurso também significa que o comando locate não pesquisa arquivos que foram criados desde a última atualização do banco de dados.
O banco de dados de locate é atualizado automaticamente todos os dias. No entanto, o usuário root pode usar o comando updatedb para forçar uma atualização imediata.
[root@host ~]# updatedb
O comando locate restringe os resultados para usuários sem privilégios. Para ver o nome do arquivo resultante, o usuário deve ter permissão de pesquisa no diretório em que o arquivo reside. Por exemplo, localize os arquivos que o usuário developer pode ler e que correspondem à palavra-chave passwd no nome ou no caminho:
[developer@host ~]$ locate passwd
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
...output omitted...
O seguinte exemplo mostra o nome do arquivo ou o caminho para uma correspondência parcial com a consulta de pesquisa:
[root@host ~]# locate image
/etc/selinux/targeted/contexts/virtual\_image_context
/usr/bin/grub2-mkimage
/usr/lib/sysimage
...output omitted...
A opção -i do comando locate realiza uma pesquisa que não diferencia maiúsculas e minúsculas. Essa opção retorna todas as combinações possíveis de letras maiúsculas e minúsculas correspondentes:
[developer@host ~]$ locate -i messages
...output omitted...
/usr/share/locale/zza/LC_MESSAGES
/usr/share/makedumpfile/eppic_scripts/ap_messages_3_10_to_4_8.c
/usr/share/vim/vim82/ftplugin/msmessages.vim
...output omitted...
A opção -n do comando locate limita o número de resultados da pesquisa retornados. O seguinte exemplo limita os resultados da pesquisa retornados pelo comando locate às cinco primeiras ocorrências:
[developer@host ~]$ locate -n 5 passwd
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
...output omitted...