Entendendo os comandos Find e Locate

Escrito por Greyson | Complementos por Nixie Pixel

No Linux, procurar arquivos pode ser feito de duas formas principais: vasculhando o disco em tempo real ou consultando um índice pré-existente. Entender a diferença entre elas economiza minutos preciosos no terminal.

Recurso Comando locate Comando find
Velocidade Instantânea (usa banco de dados) Lenta (varre o disco)
Precisão Pode estar desatualizado Sempre 100% atualizado
Poder Busca simples por nome Busca por data, tamanho, dono e executa ações

1. O Veloz: Locate

O locate é imbatível na rapidez porque ele lê um arquivo de índice chamado mlocate.db. Para garantir que ele encontre arquivos novos, você precisa atualizar esse índice:

# updatedb  (Como root, reconstrói a base)
# locate -i arquivo  (O "-i" ignora maiúsculas/minúsculas [00:00:36])

2. O Poderoso: Find

O find é muito mais que um buscador. Ele permite encontrar arquivos baseando-se em filtros avançados mostrados pela Nixie Pixel:

A) Busca por Tempo de Modificação

Encontrar arquivos modificados nos últimos 10 minutos no diretório raiz:

# find / -type f -mmin -10  ([00:01:04])

B) Busca e Execução (Ação em Massa)

Você pode encontrar arquivos e movê-los ou removê-los automaticamente usando o -exec. Cuidado: este comando é potente e pode sobrescrever dados se usado incorretamente [00:01:54].

Exemplo: Mover arquivos encontrados para uma pasta específica
# find ~ -iname "*foto*" -exec mv {} /destino/pasta/ \;
Dica da Nixie Pixel: Se você não gosta do terminal para buscas, ela recomenda o Catfish [00:02:22]. É um buscador gráfico que funciona como uma interface para o find/locate, similar à busca do Windows.

Confira o vídeo original da Nixie Pixel sobre o poder do Find:

Assista no YouTube