Comando find
O comando find é uma opção muito eficiente e quando deseja-se encontrar arquivos no Linux em modo texto. O mesmo vem presente na maioria das sistribuições atuais. Porém caso o comando find não esteja disponível na sua distribuição basta instalar o pacote findutils. Abaixo veremos algumas formas e exemplos de sua utilização.
Localizando arquivos por nome:
r2d2:~# find / -name sources.list /usr/share/doc/apt/examples/sources.list /etc/apt/sources.list
r2d2:~# find /etc/init.d/ -iname readme /etc/init.d/README
Esta opção é mais indicada em caso de buscas mais precisas, pois com ela o sistema não irá diferenciar letras maiúsculas e minúsculas, portanto a dica é que em caso de dúvidas utilize a opção iname. Uma outra observação é que podemos informar o diretório onde será realizada a busca, no caso da procura pelo arquivo README, efetuamos a busca em /etc/init.d.
Localizando arquivos por usuários
r2d2:~# find /var -user leandro /var/spool/cron/crontabs/leandro /var/mail/leandro
r2d2:~# find /var -group xrdp /var/run/xrdp /var/log/sesman.log
Uma outra utilizada é efetuar uma busca por tamanho, está pode ser útil em uma ocasiao onde temos que eliminar rapidamente espaço em disco seja por qual for o motivo. Se esta for sua necessidade o comando find também pode ser útil, para tal tarefa deve ser utilizado o parâmetro -size. Abaixo localizamos arquivos com mais de 5G em nosso sistema:
r2d2:~# find / -size +5G /home/leandro/.VirtualBox/VDI/Microsoft Windows XP Professional.vdi
Neste caso, foi encontrado um arquivo de disco virtual do Oracle VirtualBox. Da mesma forma em que utilizamos a busca por aquivos contento mais de 5GB em nosso sistema, poderíamos efetuar a busca utilizando por Kilobytes utilizando o sub-parâmetro k (minúsculo) e para Megabytes o parâmetro M (maiúsculo), preste atenção na hora de executar estes sub-parâmetros do comando find, pois o comando find é case-sensitive, ou seja diferencia caracteres maiúsculos e minúsculos.