Find Command in Linux (Find Files and Directories)
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 atributo
path...
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
: socketPor 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
: bytesw
: dois bytes palavrask
: KilobytesM
: MegabytesG
: GigabytesO 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:
-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
.