Sephorix

Utilidade pública, aqui dicas para desembaraçar à vida pública e assuntos de informática.

Comando find Linux usos

O comando find serve para procurar por arquivos, diretórios e palavras dentro de um arquivo. Com as suas opções pode-se procurar arquivos bem como filtrá-los por extensões, strings, permissões, data, acesso, modificações etc, por meios dos coringas, segue as linhas de comando mais usadas.

Procurar e remover arquivos

find . -type f -name arquivo.pdf -exec rm -f {} \;

find diretorio -iname 'arquivo' -exec rm {} \;

find dados/ *.dat -exec rm {} \;

find /dados -name '*.log' -exec rm {} \;

find /dados -name "*2009-*.gz" -delete

Procura por strings dentro do arquivo

find dados/ -name "*.*" -exec grep -Hin "yoga" {} \;

Use com os comandos | wc -l , | head , | grep e xargs (repetir a ação)

 -exec <comando> executa um comando
 -print imprime o nome do arquivo

Use: Acessados atime, criados ctime, modificados mtime

Procura arquivos acessados (atime)

find . -type f -atime -1 -exec ls -l {} \;  (últimas 24 horas)

find . -type f -atime -2 -exec ls -l {} \;  (últimos 2 dias) 

find . -type f -atime +4 -exec ls -l {} \;  (depois de 4 dias)

Procura arquivos acessados (amin) nos últimos 5 minutos

find . -type f -amin -5

Procura arquivos criados (ctime) nas últimas 12 horas

find . -type f -ctime -0.5 -exec ls -l {} \;

Procura arquivos modificados (mtime) nas últimas 6 horas

find . -type f -mtime -0.25 

Procura diretórios

find / -type -d -name Fotos arquivo.txt

Procura ignorando case sensitive

find /home/ -iname arquivo.txt

Procura por permissão

find . -type f -perm 0744 -print

Procura permissão que não possuem determinda permissão

find / -type f ! -perm 744  

Procura por tamanho de arquivos maiores que 500 MB

find . -type f -size +500M  

e arquivos menores que 500 MB

find . -type f -size -500M

Listar tudo no diretório:

find .

Arquivos ocultos somente:

find ~ -type f -name ".*"

Procura por tipo de arquivos

find / -type -f -name Fotos *.epub

find ./dir -maxdepth 1 -name *.pdf  
find ./dir -name midia*

find ./dir -name 'comandofind*' ! -name '*.php'
find -name '*.php' -o -name '*.txt'
find ./dir -type f -name "midia*"