De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Procurando arquivos no sistema

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 08 de Novembro de 1997

Com frequência precisamos descobrir arquivos em nosso sistema. Para isto utilizamos o comando find. Dependendo do tamanho dos sistemas de arquivos, o comando pode demorar desde alguns segundos até vários minutos.

Para reduzir este tempo de espera, uma solução interessante é criar uma listagem previamente e utilizar o comando grep para realizar a pesquisa. A listagem seria gerada através de uma entrada na crontab e a pesquisa através de um shell script chamado, por exemplo, de ff.

A geração da listagem seria feita através, é claro, do comando find e diretamente na crontab:

0 0 * * * find / -print > /usr/local/filelist

Desta forma, à meia noite de todos os dias, será gerada a listagem. Dependendo das características de seu sistema, esta listagem poderá ser gerada duas vezes por dia, uma vez a cada hora, etc.

E o shell script, ff:


#!/bin/sh

if [ $# -eq 0 ]; then
        echo 1>&2 Sintaxe: $0 argumento_de_pesquisa
        exit 1
fi

grep $1 /usr/local/filelist

Experimentem, fica muito, muito mais rápido. E o seu tempo certamente deve ser muito precioso, não?



Veja a relação completa dos artigos de Rubens Queiroz de Almeida