Quando se trata de encontrar arquivos e pastas eficientemente em um sistema Linux, existem dois comandos principais disponíveis: find e locate. Ambos têm suas próprias forças e casos de uso. Neste guia, você aprenderá como usar esses comandos para encontrar rapidamente e de forma direcionada os dados necessários, seja no diretório home ou em todo o disco rígido.

Principais conclusões

  • locate é mais rápido, pois utiliza um banco de dados, mas pode não estar atualizado.
  • find pesquisa diretamente no disco rígido e está sempre atualizado, mas pode ser mais lento.
  • Ambos os comandos oferecem várias opções para refinar suas buscas.

Guia passo a passo

1. Uma visão geral: locate

Comece sua busca com o comando locate. Isso é especialmente simples se você conhece o nome exato ou parte do nome do arquivo. Suponha que você queira encontrar o arquivo "Sol". Acesse seu diretório raiz e digite o seguinte comando:

locate Sol

Com este comando, locate irá pesquisar todas as entradas no banco de dados e listar os arquivos que contêm o termo de busca "Sol".

Encontrar arquivos e pastas de forma eficiente com Linux

2. Ignorar maiúsculas e minúsculas

Você deseja ignorar maiúsculas e minúsculas em sua busca? Então você pode usar a opção -i:

locate -i sol

Dessa forma, você obterá uma lista que contém tanto "Sol" quanto "sol".

Encontrar arquivos e pastas de forma eficiente com Linux

3. Precisão com expressões regulares

Se você deseja realizar uma busca mais precisa, pode usar expressões regulares com locate. Por exemplo, para buscar exatamente por "ls", você pode usar a opção -b em combinação com parênteses protegidos:

locate -b '/ls'

Isso garantirá que você receba apenas resultados que correspondem exatamente a "ls".

Encontrar arquivos e pastas de forma eficiente com Linux

4. Atualizar o banco de dados

Se você criou um novo arquivo e deseja garantir que locate o encontre, você precisa atualizar o banco de dados. Você faz isso com o comando:

sudo updatedb

Este comando atualiza o banco de dados e o mantém em dia.

Encontrar arquivos e pastas de forma eficiente com Linux

5. Usando find

O comando find é especialmente útil quando você deseja definir critérios mais específicos para sua busca. Por exemplo, para buscar um arquivo chamado "xyz" no diretório home, você pode usar o seguinte comando:

find ~/ -name 'xyz'

Isso pesquisa apenas no diretório home por "xyz".

Encontrar arquivos e pastas de forma eficiente com Linux

6. Filtrar por tipo de arquivo

Para buscar apenas por tipos de arquivos específicos, você pode usar a opção -type. Por exemplo, para encontrar apenas diretórios:

find /var/log -type d

Com esse comando, você listará todos os diretórios no diretório /var/log.

Encontrar arquivos e pastas de forma eficiente com Linux

7. Procurar arquivos por tamanho

Se você deseja buscar arquivos com base em seu tamanho, pode usar a opção -size. Por exemplo, para encontrar arquivos maiores que 1 MB:

find / -type f -size +1M

Este comando pesquisa em todo o sistema por arquivos que são maiores que 1 megabyte.

Encontrar arquivos e pastas de forma eficiente com Linux

8. Encontrar arquivos em um determinado período

Você também pode procurar arquivos que foram modificados dentro de um determinado período. Por exemplo, se você deseja encontrar arquivos que foram modificados nas últimas 48 horas, use:

find / -type f -mtime -2

Aqui, "-mtime -2" refere-se a arquivos que foram modificados nos últimos dois dias.

Encontrar arquivos e pastas de forma eficiente com Linux

9. Combinações de critérios de busca

A combinação de vários critérios de busca melhora a precisão de suas consultas. Você pode filtrar por tipo de arquivo e data de modificação ao mesmo tempo:

find /opt -type f -mtime -1

Dessa forma, você encontra todos os arquivos no diretório /opt que foram modificados nas últimas 24 horas.

Encontrar arquivos e pastas de forma eficiente com Linux

10. Conclusão sobre a busca de arquivos

Com os comandos find e locate, você está bem equipado para encontrar eficientemente arquivos e pastas em seu sistema Linux. Você pode escolher entre velocidade e uma base de dados atual, dependendo de suas necessidades.

Resumo – Buscando arquivos e pastas no Linux – find e locate em detalhes

Encontrar arquivos e pastas no Linux é fácil com find e locate. Ambos os comandos oferecem diferentes formas de personalizar sua busca.

Perguntas frequentes

Qual é a diferença entre find e locate?find pesquisa em tempo real no disco rígido, enquanto locate usa um banco de dados e, portanto, é mais rápido, mas pode não fornecer resultados atualizados.

Como atualizo o banco de dados do locate?Com o comando sudo updatedb você pode atualizar o banco de dados do locate.

Posso usar find para buscar por tamanho de arquivo?Sim, isso é possível usando a opção -size.

Como posso restringir minha busca por nomes de arquivos ou pastas?Use as opções -name ou -type para buscar especificamente por certos nomes ou tipos de arquivos.

Qual é um exemplo de uma combinação de critérios de busca?Você pode usar find para buscar arquivos do tipo -type f e ao mesmo tempo especificar que os arquivos foram modificados nas últimas 24 horas com -mtime -1.