Find Command in Linux (Find Files and Directories)

0 Comments

The find command is one of the most powerful tools in the Linux system administrators arsenal. Ele procura por arquivos e diretórios em uma hierarquia de diretórios com base em uma expressão dada pelo Usuário e pode executar a ação especificada pelo usuário em cada arquivo correspondente.

pode usar o comando find para procurar ficheiros e directórios com base nas suas permissões, tipo, data, propriedade, tamanho e muito mais., Também pode ser combinado com outras ferramentas como grep ou sed .

encontre Sintaxe do Comando #

A sintaxe geral para o find comando é da seguinte forma:

  • options atributo controla o tratamento de links simbólicos, as opções de depuração, e o método de otimização.
  • o atributopath... define a pasta inicial ou pastas onde o find irá procurar nos ficheiros.,
  • o atributo expression é composto por opções, padrões de pesquisa e ações separadas por operadores.

para procurar ficheiros numa pasta, o utilizador que invoca o ID

necessita de ter permissões de leitura nessa pasta.

Let’s take a look at the following example:

Find Files by Name #

Finding files by name is probably the most common use of the find., Para encontrar um ficheiro com o seu nome, use a opção -name seguida do nome do ficheiro que procura.

Por exemplo, para procurar por um arquivo chamado document.pdf /home/linuxize diretório, você usaria o seguinte comando:

Para executar um case-insensitive de pesquisa, altere o -name opção -iname:

O comando acima irá corresponder a “do Documento.documento.documento” ..etc.,

Procurar ficheiros pela extensão #

Procurar ficheiros por extensão é o mesmo que procurar ficheiros pelo nome. Por exemplo, para localizar todos os arquivos que terminam com .log.gz dentro de /var/log/nginx diretório, você digitaria:

é importante mencionar que você deve citar a padrão ou escapar do asterisk * o símbolo de barra invertida \, de modo que não são interpretados pelo shell quando você usar o caractere curinga.,

para encontrar todos os ficheiros que não correspondam à expressão regular *.log.gz pode usar a opção -not. Por exemplo, para localizar todos os arquivos que não terminam com *.log.gz você usaria:

Localizar Arquivos por Tipo #

às Vezes pode ser necessário pesquisar para tipos de ficheiro específicos, tais como regular a arquivos, diretórios ou links simbólicos. Em Linux, tudo é um arquivo.,div>: pipe nomeado (FIFO)

  • s: socket
  • Por exemplo, para encontrar todos os diretórios no diretório de trabalho atual , você usaria:

    O exemplo comum seria recursivamente alterar o site permissões de arquivo para 644 e permissões de directório para 755 usando a tag chmod comando:

    Encontre Arquivos por Tamanho #

    Para localizar arquivos com base no tamanho do arquivo, passe o -size parâmetro, junto com os critérios de tamanho.,9fdb538a6b”>: blocos de 512 bytes (padrão)

  • c: bytes
  • w: dois bytes palavras
  • k: Kilobytes
  • M: Megabytes
  • G: Gigabytes
  • O seguinte comando irá encontrar todos os arquivos de exatamente 1024 bytes dentro de /tmp diretório:

    find comando também permite que você procure por arquivos que são maiores ou menores do que um determinado tamanho.,

    no exemplo seguinte, procuramos por todos os ficheiros inferiores a 1MB dentro da pasta de trabalho actual. Observe o sinal de menos - símbolo antes do valor de tamanho:

    Se você deseja pesquisar por arquivos com um tamanho maior do que 1MB e, em seguida, você precisará usar o plus + símbolo:

    Você pode até mesmo procurar por arquivos dentro de um intervalo de tamanho., O seguinte comando irá encontrar todos os ficheiros entre 1 e 2MB:

    Localizar Arquivos por Data de Modificação #

    find comando também pode procurar por arquivos com base em sua última modificação, acesso a, ou mudança de tempo.

    igual ao procurar por tamanho, use os símbolos mais e menos para “maior que “ou”menor que”.

    digamos que alguns dias atrás, você modificou um dos arquivos de configuração do dovecot, mas esqueceu qual., Você pode facilmente filtrar todos os arquivos sob o /etc/dovecot/conf.d diretório que termina com .conf e tem sido modificados nos últimos cinco dias:

    Aqui está outro exemplo de filtragem de ficheiros com base na data de modificação utilizando o -daystart opção., O comando a seguir irá listar todos os arquivos em: /home diretório que foram modificados 30 ou mais dias atrás:

    Encontre Arquivos Permissões #

    -perm opção permite que você procure por arquivos com base nas permissões de arquivo.,

    Por exemplo, para localizar todos os arquivos com permissões de exatamente 775 dentro de /var/www/html diretório, você usaria:

    Você pode prefixo de modo numérico, com menos - ou barra /.

    When slash / is used as the prefix, then at least one category (user, group, or others) must have at least the respective bits set for a file to match.,

    considere o seguinte comando de exemplo:

    o comando acima irá corresponder a todos os ficheiros com permissões de leitura definidas para o utilizador, grupo ou outros.

    If minus - is used as the prefix, then for the file to match, at least the specified bits must be set., O seguinte comando irá procurar por arquivos que tenham permissão de leitura e gravação para o dono e o grupo e são lidos por outros utilizadores:

    Encontre Arquivos pelo Proprietário #

    Para encontrar arquivos pertencentes a um determinado usuário ou grupo, use o -user e -group opções.

    Por exemplo, para procurar todos os arquivos e diretórios de propriedade do usuário linuxize, execute:

    Aqui está um exemplo do mundo real., Vamos dizer que você deseja localizar todos os arquivos pertencentes ao usuário www-data e altere a propriedade dos arquivos correspondentes, a partir de www-data nginx:

    Encontre e Elimine Arquivos #

    Para excluir todos os arquivos correspondentes, acrescentar o -delete opção para o final da partida expressão.

    certifique-se de que está a usar esta opção apenas quando estiver confiante de que o resultado corresponde aos ficheiros que deseja apagar., É sempre uma boa ideia imprimir os ficheiros correspondentes antes de usar a opção -delete.

    Por exemplo, para excluir todos os arquivos terminando com .temp a partir do /var/log/, você usaria:

    Use -delete opção com extrema cautela. O comando find é avaliado como uma expressão e se adicionar a opção -delete primeiro, o comando irá apagar tudo por baixo dos pontos iniciais que indicou.,

    Quando se trata de diretórios, find pode apagar apenas pastas vazias, mesmo que rmdir .

    Conclusion #

    we have shown you how to use the find command with various options and criteria.

    Este artigo deve dar-lhe uma compreensão fundamental de como localizar ficheiros nos seus sistemas Linux. Você também pode visitar a página de man

    e ler sobre todas as outras opções poderosas do comandofind.


    Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *