Dicas de find

Poucas ferramentas no Linux conseguem ser tão uteis como o find. Como a ferramenta mesmo diz ela serve para fazer pesquisas no sistema de arquivo, graças a ele podemos achar um arquivo pelo nome, tamanho, idade e podemos redirecionar o resultado da pesquisa para outro comando, como rm por exemplo, apagando o resultado da consulta, ou para o tar para compactar o resultado da consulta. Vamos ao básico :

 

#find  /diretorio -name “*.txt”

O comando acima vai procurar na pasta /tmp e seus subdiretórios todos os arquivos com a extensão txt , como podem perceber primeiro vem o caminho, o /tmp , depois o tipo de pesquisa, que no caso vai ser por nome, depois o tipo de nome que vai ser pesquisado.

Vamos fazer agora uma pesquisa por idade do arquivo:

#find /diretorio -mtime +7

Nesse caso estamos procutando na pasta /tmp todos os arquivos com mais de 7 dias de criação, poderiamos fazer o inverso, procurar os arquivos com menos de 7 dias de criação:

#find /diretorio -mtime -7

A procura por tempo não é so em dias é possivel usar o paramentro -mmin   para pesquisar  em minutos, abaixo o exemplo para procurar arquivos com menos de 30 minutos:

#find /diretorio -mmin -30

Outro tipo interessante de busca pode ser pelo tamanho dos arquivos, usarmos o parâmetro size e ele também aceita + e – para diferenciar no parâmetro, exemplo:

#find /diretorio -size +600k

#find /diretorio -size -500M

É importante frisar que podemos usar mais de um parâmetro em cada pesquisa, por exemplo, podemos procurar todos os arquivos .txt maiores que 100k :

#find /diretorio -name “*.txt” -size +100k

Agora uma das coisas mais uteis, o redirecionamento  do resultado da pesquisa para outro comando, vou passar um exemplo muito útil,  o redirecionamento do find para o grep, de forma que você possa achar um arquivo que tenha uma palavra que você esta procurando. Por exemplo eu preciso achar em qual arquivo esta a palavra “settings” que é usada para configurar um programa, mas não sei em qual arquivo esta, então seus problemas acabaram:

find /diretorio -exec grep -l ‘settings’ {} \;

Podemos precisar apagar vários arquivos em uma pasta, mas apenas os arquivos com mais de 30 dias do tipo “tmp”:

#find /diretorio -name ‘*.tmp’  -mtime +30 -exec rm -Rf {} \;

Existem varias combinações prováveis,  o -exec vai redirecioná-las para o programa que você precisar, e os parâmetros “{} \;” são basicamente para dizer ao programa que o resultado vai estar nesse lugar para o programa.

Por hoje é só, espero que aproveitem as dicas!

About The Author
admin Anakin Pendragon

3 thoughts on “Dicas de find

Os comentários estão fechados.