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.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 30 de Janeiro de 2006
Sistemas Linux possuem uma excelente ferramenta para nos ajudar na
localização de arquivos na estrutura de diretórios, o comando slocate
.
O comando slocate
cria um banco de dados contendo a listagem dos
arquivos do sistema e sua localização na estrutura de diretórios. O
banco de dados criado pelo comando slocate
fica localizado no
diretório /var/lib/slocate/
e chama-se slocate.db
.
O programa slocate
armazena também, além do nome, as permissões de
leitura e propriedade dos arquivos de maneira a garantir que ninguém
obtenha informações sobre arquivos aos quais não tenha acesso. Daí o
seu nome, Secure Locate.
O banco de dados é criado emitindo-se o comando:
# slocate -u
Este comando irá gravar no arquivo /var/lib/slocate/slocate.db
a
localização e o nome de todos os arquivos e diretórios a partir do
diretório raiz.
Usuários comuns podem também criar seu índice personalizado. A
restrição é que o banco de dados (slocate.db
) deve ser gravado em um
local ao qual o usuário tenha acesso, como por exemplo seu diretório
de trabalho pessoal.
$ slocate -U /home/usuario -o .slocate.db
O banco de dados pessoal foi chamado de .slocate.db.
O nome inicia-se em
".
" para que não conste nas listagens normais do diretório de trabalho.
Ao invocar o comando slocate
sem argumentos, o banco de dados pesquisado
será o do sistema (/var/lib/slocate/slocate.db
). Para consultar o banco
de dados pessoal, utilizar a opção --database
:
$ slocate --database=.slocate.db tex
Forneceu-se no exemplo a instrução de se buscar por arquivos que
contenham os caracteres tex
em seu nome.
O tempo de resposta do comando slocate
é excelente. Rarissimas vezes
será necessária a criação de um banco de dados pessoal, a não ser que
o sistema seja muito grande e contenha centenas de milhares de
arquivos. Mesmo nestas condições a busca é bastante eficiente.
Caso realmente se opte por um banco de dados individual, uma boa alternativa é criar um alias que especifique as diretivas apropriadas:
alias Slocate="slocate --database=$HOME/.slocate.db"
Desta forma, se especificarmos Slocate
estaremos consultando o banco
de dados pessoal. O comando slocate
continuará fazendo uma busca na
listagem completa.
O acesso a este banco de dados é feito através do comando locate
.
Usá-lo é extremamente simples, basta fornecer como argumento a cadeia de caracteres que se deseja localizar no sistema.
Finalmente, principalmente em sistemas bastante ativos, com uma grande
taxa de modificação do sistema de arquivos, o mais indicado é automatizar
a atualização do banco de dados slocate.db
. As seguintes entradas na
crontab realizam esta atualização uma vez a cada hora:
0 * * * * slocate -u
Para usuários normais
0 * * * * slocate -U /home/usuario -o .slocate.db
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários