O que é o comando find no Linux?

Nesta página

  • O que é o comando find no Linux?
  • Qual é a sintaxe básica do comando find no Linux?
  • Quais são as opções mais comuns usadas com o comando find no Linux?
  • Como combinar múltiplos critérios de pesquisa no comando find no Linux?
  • Utilizando o EventLog Analyzer para monitoramento de arquivos no Linux

O comando find é uma das ferramentas mais poderosas e versáteis disponíveis no Linux para pesquisar arquivos e diretórios. Ele permite que os usuários localizem arquivos e diretórios com base em diferentes critérios, incluindo nome, tamanho, tipo e data de modificação e é indispensável para administradores de sistemas, desenvolvedores e profissionais de cibersegurança que precisam gerenciar e proteger seus sistemas Linux de forma eficaz.

Compreender o comando find é crucial para diversos cenários, tais como:

  • Localização de arquivos extraviados: Encontre rapidamente arquivos que possam ter sido movidos ou extraviados.
  • Identificação de grandes arquivos: Descubra arquivos grandes que podem estar consumindo espaço valioso em disco.
  • Auditoria de mudanças do sistema: Rastreie as mudanças em arquivos e diretórios para auditoria de segurança e conformidade.

Sintaxe básica do comando find no Linux

A sintaxe básica do comando find no Linux é estruturada da seguinte forma:

find [path] [options] [expression]

Os componentes da sintaxe incluem:

  • path: Especifica o diretório inicial da pesquisa, como.
    • por exemplo, find/path/to/search, que indica onde a pesquisa começará
  • options: Essas são configurações ou condições adicionais que modificam o comportamento da pesquisa.
    • Por exemplo, você pode usar -type f para pesquisar arquivos ou -type d para pesquisar diretórios.
  • expression: Define os critérios para filtrar e localizar arquivos.
    • Por exemplo, -name ".txt" pesquisará arquivos com a extensão .txt.

Alguns exemplos que demonstram a sintaxe:

  • Encontrar todos os arquivos .txt em um diretório: find /path/to/search -name ".txt"
  • Encontrar somente diretórios: find /path/to/search -type d
  • Localizar arquivos maiores que 1 MB: find /path/to/search -size +1M

Essa estrutura de comandos permite uma ampla personalização das pesquisas de arquivos no Linux, fazendo dela uma ferramenta poderosa para gerenciar arquivos e diretórios com eficiência.

Quais são as opções mais comuns usadas com o comando find no Linux?

Algumas das opções mais comumente utilizadas com o comando find no Linux:

Localizar arquivos por nome:

ComandoDescriçãoSintaxeSaída
-namePesquise arquivos com correspondência exata de nomefind /path -name "nome do arquivo"Lista os arquivos com o nome exato
-inamePesquisa de arquivos por nome, sem distinção entre maiúsculas e minúsculasfind /path -iname "nome do arquivo"Lista arquivos com correspondência sem distinção entre maiúsculas e minúsculas
-pathPesquisar por caminho relativo e nome do arquivofind /path -path "*diretório/nome do arquivo"Lista os arquivos que correspondem ao caminho

Localizar arquivos por tipo:

ComandoDescriçãoSintaxeSaída
-type fProcure por arquivos regularesfind /path - type fLista arquivos regulares
-type dPesquisa por diretóriosfind /path - type fLista diretórios
-type lPesquisa por links simbólicosfind /path - type fLista links simbólicos

Localizar arquivos por tamanho:

ComandoDescriçãoSintaxeSaída
-size +100MLocalizar arquivos maiores que 100 MBfind /path -size +100MLista arquivos maiores que 100 MB
-size -1kLocaliza arquivos menores que 1 kBfind /path -size -1kLista arquivos menores que 1 kB

Localizar arquivos por data:

ComandoDescriçãoSintaxeSaída
-mtime -7Localiza arquivos modificados nos últimos sete diasfind /path -mtime -7Lista arquivos modificados nos últimos sete dias
-atime +30Localiza arquivos acessados há mais de 30 diasfind /path -atime +30Lista arquivos acessados há mais de 30 dias
-ctime 1Localiza arquivos cujo status foi modificado exatamente um dia atrásfind /path -ctime 1Lista arquivos cujo status foi modificado há um dia

Localizar arquivos por usuário/grupo:

ComandoDescriçãoSintaxeSaída
-userLocalizar arquivos pertencentes a um usuário específicofind /path -user usernameLista arquivos pertencentes ao usuário especificado
-groupLocalizar arquivos pertencentes a um grupo específicofind /path -group groupnameLista arquivos pertencentes ao grupo especificado

Critérios de combinação:

ComandoDescriçãoSintaxeSaída
-andCombina múltiplos critérios de pesquisa (AND lógico)find /path -name "filename" -and -size +100MLista arquivos que correspondem a ambos os critérios
-orCombina múltiplos critérios de pesquisa (OR lógico)find /path -name "filename" -or -size +100MLista arquivos que correspondem a qualquer um dos critérios
-notNega uma condição de pesquisafind /path -not -name "filename"Lista arquivos que não correspondem ao nome

Execução de comandos em arquivos encontrados:

ComandoDescriçãoSintaxeSaída
-execExecuta um comando em cada arquivo encontradofind /path -name "filename" -exec command {} \;Executa o comando especificado em cada arquivo encontrado

O comando find ajuda você a localizar arquivos com base em uma ampla gama de critérios. Combinar opções possibilita que você refine sua pesquisa para localizar exatamente o que você precisa.

Como combinar múltiplos critérios de pesquisa no comando find no Linux?

O comando find do Linux é flexível e permite que você combine vários critérios de pesquisa usando operadores lógicos para um funcionamento eficaz.

  • Combinando critérios com -and: Para localizar arquivos que correspondam a vários critérios, você pode usar -and para combiná-los.
    • Por exemplo, para localizar arquivos maiores que 1 MB modificados nos últimos sete dias: find /path/to/search -size +1M -and -mtime -7
    • Procura arquivos maiores que um megabyte (-size +1M) que foram modificados nos últimos sete dias (-mtime -7).
  • Usando -or para localizar arquivos que correspondam a qualquer critério: Para localizar arquivos que correspondam a qualquer um dos critérios especificados, use -or.
    • Por exemplo, para localizar arquivos com extensões .txt ou .pdf: find /path/to/search \( -name ".txt" -or -name ".pdf" \)
    • Os parênteses agrupam os critérios para aplicar a lógica -or.
  • Negando critérios com -not: Para excluir arquivos que correspondam a determinados critérios, use -not.
    • Por exemplo, para localizar todos os arquivos, exceto arquivos .txt: find /path/to/search -not -name ".txt"
    • Retornará todos os arquivos no diretório que não têm uma extensão .txt.
  • Combinando vários critérios: Você pode combinar vários critérios usando uma combinação de -and, -or e -not.
    • Por exemplo, para localizar arquivos .txt ou .pdf maiores que 1 MB, excluindo arquivos pertencentes ao user1: find /path/to/search \( -name ".txt" -or -name ".pdf" \) -and -size +1M -and -not -user user1
    • Esse comando pesquisa arquivos .txt ou .pdf (-name ".txt" -ou -name ".pdf") maiores que 1 MB (-size +1M) que não são de propriedade do user1 (-not -user user1).

Lembre-se de colocar os critérios entre parênteses ao usar -or e -not para assegurar o agrupamento lógico adequado. O comando find possibilita pesquisas flexíveis e poderosas combinando várias condições.

Como utilizar o EventLog Analyzer da ManageEngine para monitoramento de arquivos no Linux?

O EventLog Analyzer da ManageEngine é uma ferramenta abrangente de gerenciamento de logs e de conformidade de TI que ajuda você a detectar ameaças de segurança, realizar auditorias de conformidade e garantir a segurança dos dados. Essa ferramenta de monitoramento do Linux é fornecida com a capacidade de monitoramento de integridade de arquivos (FIM) para rastrear mudanças em arquivos e pastas do Linux.

Veja como o EventLog Analyzer ajuda você a monitorar seu arquivo e pasta do Linux:

  • Criações de arquivos: Rastreie quando e por quem um novo arquivo é criado para impedir que arquivos não autorizados ou mal-intencionados sejam introduzidos em seu ambiente.
  • Criações de arquivos
    Figura 1: Criações de arquivos no recurso de monitoramento de integridade de arquivos no EventLog Analyzer
  • Modificações de arquivos: Rastreie mudanças feitas nos arquivos, como edições ou atualizações, assegurando que todas as tentativas de modificação não autorizadas sejam sinalizadas imediatamente.
  • Modificações de arquivos
    Figura 2: Modificações de arquivos no recurso de monitoramento de integridade de arquivos no EventLog Analyzer
  • Exclusões de arquivos: Audite exclusões de arquivos para assegurar que os dados críticos não sejam removidos sem a devida autorização. Isso ajuda a proteger informações confidenciais e identificar possíveis violações de dados.
  • Exclusões de arquivos
    Figura 3: Exclusões de arquivos no recurso de monitoramento de integridade de arquivos no EventLog Analyzer
  • Renomeação de arquivos: Monitore as atividades de renomeação de arquivos para detectar tentativas de ocultar ou adulterar dados confidenciais.
  • Renomeação de arquivos
    Figura 4: Renomeação de arquivos no recurso de monitoramento de integridade de arquivos no EventLog Analyzer
  • Alertas predefinidos para detecção de acesso não autorizado: Receba notificações sobre acesso não autorizado a arquivos críticos do Linux, incluindo acesso em tempo real, fora do horário comercial com perfis de alerta predefinidos.
  • Alertas predefinidos para detecção de acesso não autorizado
    Figura 5: Adicionando alertas predefinidos no EventLog Analyzer
  • Geração de relatórios intuitiva: A trilha de auditoria para todas as atividades de arquivos é apresentada por meio de relatórios intuitivos que fornecem uma visão detalhada das operações de arquivos. Esses relatórios são concebidos para atender aos requisitos de conformidade regulatórios (como LGPD, HIPAA ou SOX), ajudando você a assegurar que os logs de atividades do seu arquivo sejam detalhados e facilmente acessíveis durante as auditorias.

Qual é o próximo passo?

Explore as capacidades de monitoramento em Linux do EventLog Analyzer com o teste gratuito de 30 dias.