No Linux o comando “find” é um dos comandos mais importantes e muito útil em sistemas Linux. Ele pode ser usado para encontrar e localizar listas de arquivos e diretórios com base nas condições especificadas para arquivos que correspondem aos argumentos. Você pode encontrar arquivos por permissões, usuários, grupos, tipo de arquivo, data, tamanho e outros critérios possíveis usando o comando find. O comando “find” está disponível na maioria das distro Linux por padrão, então você não precisa instalar um pacote para ele. Nesse tutorial vamos mostrar os comandos “FIND” mais usados para encontrar arquivos no Linux.
Encontrar arquivos pelo nome em diretórios atuais
A maneira mais óbvia de procurar por arquivos é pelo nome. Para encontrar um arquivo pelo nome no diretório atual, execute o seguinte comando:
find -name filename.txt
Se você quiser encontrar um arquivo pelo nome que contém letras maiúsculas e minúsculas, execute o seguinte comando:
find -iname filename.txt
Localizar arquivos em um diretório específico no Linux
Se você quiser encontrar arquivos sob um diretório específico, como “/home”, execute o seguinte comando:
find /home -name filename.txt
Para encontrar ficheiros cujo nome é “test.txt” sob vários diretórios como “/home” e “/opt”, execute o seguinte comando:
find /home /opt -name test.txt
Para encontrar arquivos ocultos no diretório “/home”, execute o seguinte comando:
find /home -name “.*”
Para encontrar um único arquivo chamado “test.txt” e removê-lo, execute o seguinte comando:
find /home -type f -name test.txt -exec rm -f {}
Para localizar todos os arquivos vazios sob o diretório “/opt”, execute o seguinte comando:
find /opt -type f -empty
Encontre diretórios usando o nome
Se você quiser encontrar todos os diretórios cujo nome é testdir sob o diretório “/home”, execute o seguinte comando:
find /home -type d -name testdir
Para registrar todos os diretórios vazios sob “/home”, execute o seguinte comando:
find /home -type d -empty
Localizar arquivos com determinadas permissões no Linux
O comando “find” pode ser usado para encontrar arquivos com uma permissão específica usando a opção “perm” .
Para localizar todos os arquivos cujas permissões são “777” no diretório “/home”, execute o seguinte comando:
find /home -type f -perm 0777 -print
Para localizar todos os arquivos sem permissão “777”, execute o seguinte comando:
find -type f ! -perm 777
Para localizar todos os arquivos somente de leitura, execute o seguinte comando:
find /home -perm /u=r
Para localizar todos os arquivos executáveis, execute o seguinte comando:
find /home -perm /a=x
Para localizar todos os arquivos set bit sticky cuja permissão são “553”, execute o seguinte comando:
find /home -perm 1553
Para localizar todos os arquivos do conjunto de SUID, execute o seguinte comando:
find /home -perm /u=s
Para localizar todos os arquivos cujas permissões são “777” e quer alterar as permissões para “700”, execute o seguinte comando:
find /home -type f -perm 0777 -print -exec chmod 700 {} ;
Localizar arquivos e diretórios com base na data e hora no Linux
Para encontrar todos os arquivos em “/opt”, que foram modificados vinte dias antes, execute o seguinte comando:
find /opt -mtime 20
Para encontrar todos os arquivos em “/opt”, que foram acessados vinte dias antes, execute o seguinte comando:
find /opt -atime 20
Para encontrar todos os arquivos em “/opt”, que foram modificados mais de trinta dias antes e com menos de vinte dias depois:
find /opt -mtime +30 -mtime -50
Para encontrar todos os arquivos em “/opt”, que foram alteradas nas últimas duas horas, execute o seguinte comando:
find /opt -cmin -120
Localizar arquivos e diretórios com base no tamanho
Para localizar todos os arquivos de 10MB sob o diretório “/ home”, execute o seguinte comando:
find /home -size 10M
Para localizar todos os arquivos no diretório “/home”, que são maiores do que 10MB e menos de 50MB, execute o seguinte comando:
find /home -size +10M -size -50M
Para localizar todos arquivos “.mp4” no diretório “/home” com mais de 10 MB e excluí-los usando um único comando, execute o seguinte comando:
find /home -type f -name *.mp4 -size +10M -exec rm {} ;
Conclusão
O comando “find” é um dos comandos mais úteis no Linux que facilita o trabalho de um administrador de sistemas, já que permite de forma fácil pesquisar arquivos. Se você tiver alguma dúvida, deixe um comentário abaixo. Ficamos por aqui galerinha.