Pesquisar facilmente qualquer arquivo no Linux

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.

Deixe uma resposta