Encontre comando no Linux com exemplos práticos

Encontre comando no Linux com exemplos práticos

O comando find é um utilitário versátil e poderoso no Linux, permitindo que os usuários pesquisem arquivos e diretórios com base em vários critérios, como nome, tipo, tamanho, tempo de modificação e muito mais. Dominar o comando Find pode melhorar significativamente sua eficiência e eficácia ao trabalhar com sistemas Linux. Este artigo fornecerá um guia abrangente para o comando de localização, acompanhado por exemplos práticos.

Encontre sintaxe de comando e opções

A sintaxe básica do comando find é a seguinte:

Encontre [Path] [Expression]
1Encontre [Path] [Expression]
  • CAMINHO: O diretório para iniciar a pesquisa.
  • EXPRESSÃO: Os critérios de pesquisa, incluindo opções e testes.

Algumas opções comuns incluem:

  • -nome: Pesquise arquivos com base em seu nome ou padrão.
  • -tipo: Pesquise arquivos com base em seu tipo (e.g., arquivos regulares, diretórios, links simbólicos).
  • -tamanho: Pesquise arquivos com base em seu tamanho.
  • -mtime: Pesquise arquivos com base no tempo de modificação.
  • -do utilizador: Pesquise arquivos com base em seu proprietário.
  • -grupo: Pesquise arquivos com base em seu grupo.

Encontrar arquivos por nome

Para procurar arquivos por seu nome ou padrão, use o -nome opção seguida pelo nome do arquivo ou padrão incluído em citações únicas.

  • Pesquisa sensível ao caso:
    Find/Path/To/Directory -name 'nome do arquivo.TXT'  
  • Pesquisa insensível ao caso:
    Find/Path/To/Directory -iname 'nome do arquivo.TXT'  
  • Usando curingas:
    encontre/path/to/diretório -name '*.TXT'  

Encontrar arquivos por tipo:

Para procurar arquivos com base em seu tipo, use o -tipo opção seguida pelo especificador de tipo de arquivo.

  • Arquivos regulares:
    encontre/caminho/para/diretório -Type f  
  • Diretórios:
    encontre/caminho/para/diretório -Type D  
  • Links simbólicos:
    encontre/caminho/para/diretório -Type l  

Encontrando arquivos por tamanho:

Para procurar arquivos com base em seu tamanho, use o -tamanho opção seguida por um operador de comparação (+, -, ou =) e o tamanho do arquivo.

  • Arquivos maiores que 1 MB:
    encontre/path/to/diretório -size +1m  
  • Arquivos menores que 10 kb:
    encontre/path/to/diretório -size -10k  
  • Arquivos exatamente 512 bytes:
    encontre/path/to/diretório -Size 512C  

Encontrar arquivos por tempo de modificação:

Para procurar arquivos com base no tempo de modificação, use o -mtime opção seguida por um operador de comparação (+, -, ou =) e o número de dias.

  • Arquivos modificados nos últimos 7 dias:
    encontre/path/to/diretório -mtime -7  
  • Arquivos não modificados nos últimos 30 dias:
    encontre/path/to/diretório -mtime +30  
  • Arquivos modificados exatamente 14 dias atrás:
    encontre/path/to/diretório -mtime 14  

Encontrando arquivos pelo proprietário e grupo:

Para procurar arquivos com base em seu proprietário ou grupo, use o -do utilizador ou -grupo opção seguida pelo nome de usuário ou nome do grupo.

  • Arquivos de propriedade do usuário 'John':
    encontre/path/to/diretório -User John  
  • Arquivos pertencentes aos 'desenvolvedores do grupo':
    FECT/PATH/TO/Directory -Group Developers  

Executando comandos nos arquivos encontrados:

Para executar ações nos arquivos encontrados, use o -exec opção seguida pelo comando e um par de aparelhos encaracolados () como um espaço reservado para o caminho do arquivo. O comando deve ser encerrado com um ponto e vírgula (;), que deve ser escapar ou fechado em citações únicas.

  • Excluindo arquivos encontrados:
    encontre/path/to/diretório -name '*.bak '-exec rm  \;  
  • Movendo arquivos encontrados para um diretório específico:
    encontre/path/to/diretório -name '*.log '-exec mv /path/to/destino \;  
  • Alteração das permissões de arquivo:
    encontre/path/to/diretório -Type f -exec chmod 644  \;  

Combinando vários critérios de pesquisa:

Para combinar vários critérios de pesquisa, use operadores lógicos, como -e, -ou, e -não.

  • Encontre arquivos maiores que 1 MB e modificado nos últimos 7 dias:
    encontre/path/to/diretório -size +1m -e -mtime -7  
  • Encontre arquivos de propriedade de 'John' ou pertencer ao 'desenvolvedores' grupo:
    encontre/path/to/diretório -User John -Or -Group Developers  
  • Encontre todos os arquivos excluindo aqueles com um '.tmp ' extensão:
    encontre/path/to/diretório -not -name '*.tmp '  

Técnicas avançadas de comando de encontro:

  • Usando padrões regex com o comando find:
    encontre/path/to/diretório -Type f -regex '.*\.\ (txt \ | log \) '  
  • Encontrando e lidando com links simbólicos quebrados:
    encontre/path/to/diretório -Type l -xtype l -exec rm  \;  
  • Pesquisando em diretórios específicos ou excluindo determinados diretórios:
    encontre/path/to/diretório -Path '/path/to/exclude/*' -Prune -or -name '*.txt '-print  

Melhores práticas para usar o comando find:

  • Inicie sua pesquisa no diretório mais específico para otimizar o processo de pesquisa.
  • Use cards selvagens e padrões regex com sabedoria para refinar seus resultados de pesquisa.
  • Verifique seus critérios de pesquisa antes de executar comandos em arquivos encontrados para evitar ações não intencionais.
  • Sempre escape ou cite caracteres especiais, como espaços, colchetes e semicolons para garantir uma interpretação precisa pelo shell.

Conclusão

Dominar o comando LING no Linux é crucial para pesquisar e gerenciar com eficiência arquivos em seu sistema. Ao entender sua sintaxe, opções e exemplos práticos, você pode aprimorar sua proficiência em usar esse poderoso utilitário. Lembre -se de seguir as práticas recomendadas ao usar o comando LING para garantir que suas pesquisas sejam precisas e eficazes.