O digital está cada vez mais presente nas nossas vidas e a quantidade de dados que são acumulados ao longo dos anos em discos é enorme, para não falar na quantidade de informação que empresas diariamente guardam em servidores. Por isso, procurar informação é quase que inevitável nos dias atuais e um comando que ajuda nesse processo e já faz parte de qualquer distribuição Linux é o: find.
Ele procura por ficheiros em pastas e tem uma quantidade enorme de opções que podem ser combinadas e facilitar a procura, mas é importante definirem bem o que procurar e onde, pois podem não obter todos os resultados, em especial ficheiros a iniciar com números, caracteres especiais, ou maiúsculas e minúsculas.
Vamos dar alguns exemplos mais simples:
1 – Procurar por imagens com extensão .jpg no diretório atual
- find . -name \*.jpg
. – O ponto final indica o diretório atual
-name – É o nome do ficheiro ou extensão que querem encontrar
* – O asterisco indica qualquer caractere antes do .jpg
Após correr o comando acima, a lista de informação poderá ser grande. Para facilitar a visualização, usem o comando less no fim:
- find . -name ‘*.jpg’ | less
2 – Procurar por imagens .jpg por tamanho
- find . -name ‘*.jpg’ -type f -size +10M | less
3 – Procurar por imagens .jpg por tamanho, mas adicionar a um ficheiro .tar no diretório atual
- find . -name *.jpg -type f -size +10M -size -50M -exec tar cvf fotos_grandes.tar {} \;
– type – Representa o tipo de ficheiro, no exemplo acima f (file)
– size – É o tamanho que pode ser definido com + ou – conforme a vossa pesquisa.
– exec – Executa um comando
– tar – Programa para arquivar vários ficheiros
3 – Procurar por ficheiros com a palavra Pcguia, mas sem levar em conta letras maiúsculas.
- find . -iname *pcguia*
4 – Procurar por ficheiros vazios e elimina-los
- find . -empty -type f -exec rm -f {} \;
5 – Procurar por pastas vazias e elimina-las
- find . -empty -type d -exec rmdir {} \;
6 – Procurar ficheiros modificados nas ultimas 24h na pasta downloads
- find /downloads/ -ctime 1
7 – Procurar ficheiros acedidos à mais de 30 dias
- find . -atime 30
8 – Procurar ficheiros de um utilizador no diretório /
- sudo find / -user jpaula
Estes foram apenas alguns exemplos de como encontrar algum ficheiro pela linha de comandos usando o find. Podem saber mais informação através do manual do comando: man find.
Espero que tenham gostado de mais um guia e deixem nos comentários alguma sugestão.