Pesquisa de site

10 exemplos práticos úteis de comando 'locate' para iniciantes em Linux


Uma das experiências mais desagradáveis que a maioria dos novos usuários da plataforma Linux geralmente enfrenta é a incapacidade de encontrar o meio mais simples e ainda mais eficaz de procurar arquivos em seu sistema.

O Linux, como quase qualquer outro sistema operacional, utiliza vários mecanismos para responder às consultas de pesquisa dos usuários. Dois dos utilitários de pesquisa de arquivos mais populares acessíveis aos usuários são chamados de localizar e localizar.

Agora, é importante notar que ambos os processos de pesquisa funcionam extremamente bem, mas mesmo assim, o centro deste artigo estará mais no utilitário locate, que é o mais conveniente dos dois, pois utiliza métodos mais eficientes. maneiras de processar rapidamente as consultas inseridas pelos usuários.

O utilitário locate funciona melhor e mais rápido do que sua contraparte find porque, em vez de pesquisar no sistema de arquivos quando uma pesquisa de arquivo é iniciada – algo que find faz – localizar procuraria em um banco de dados. Este banco de dados contém bits e partes de arquivos e seus caminhos correspondentes em seu sistema.

Aqui estão dez comandos simples de localização para ajudá-lo a se tornar mais produtivo com sua máquina Linux.

1. Usando o comando localizar

Acionar o comando de localização para procurar um arquivo é bastante fácil e direto. Tudo que você precisa fazer é digitar:


$ locate LAMP-Setup.odt

/home/tecmint/LAMP-Setup.odt
/home/tecmint/TecMint.com/LAMP-Setup.odt

2. Limite as consultas de pesquisa a um número específico

Você pode limitar os retornos da sua pesquisa a um número necessário para evitar redundância nos resultados da pesquisa usando o comando -n.

Por exemplo, se quiser apenas 20 resultados de suas consultas, você pode digitar o seguinte comando:


$ locate "*.html" -n 20

/home/tecmint/.config/google-chrome/Default/Extensions/aapocclcgogkmnckokdopfmhonfmgoek/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/aohghmighlieiainnegkcijnfilokake/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/felcaaldnbdncclmgdcncolpebgiejap/1.1_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/forge.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/src/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/additional-feature.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/background.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/edit.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/help.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/options.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/purchase.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/upload.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/oauth2/oauth2.html
/home/tecmint/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/1.0.0.2_0/html/craw_window.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_route_details.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/feedback.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/devices.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/index.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/offers.html

Os resultados mostrarão os primeiros 20 arquivos que terminam com .html.

3. Exibir o número de entradas correspondentes

Se você deseja exibir a contagem de todas as entradas correspondentes do arquivo “tecmint“, use o comando locate -c.


$ locate -c [tecmint]*

1550

4. Ignore saídas de localização sensíveis a maiúsculas e minúsculas

Por padrão, locate é configurado para processar consultas diferenciando maiúsculas de minúsculas, o que significa que TEXT.TXT apontará para um resultado diferente de text.txt .

Para que o comando locate ignore a distinção entre maiúsculas e minúsculas e mostre resultados para consultas em letras maiúsculas e minúsculas, insira os comandos com a opção -i.


$ locate -i *text.txt*

/home/tecmint/TEXT.txt
/home/tecmint/text.txt

5. Atualize o banco de dados mlocate

Como o comando locate depende de um banco de dados chamado mlocate. O referido banco de dados precisa ser atualizado regularmente para que o utilitário de comando funcione
eficientemente.

Para atualizar o banco de dados mlocate, você usa um utilitário chamado updatedb. Deve-se observar que você precisará de privilégios de superusuário para que isso funcione corretamente, caso precise ser executado como privilégios de root ou sudo.


sudo updatedb

6. Exibir apenas os arquivos presentes em seu sistema

Quando você tem um banco de dados mlocate** atualizado, o comando locate ainda produz resultados de arquivos cujas cópias físicas são excluídas do seu sistema.

Para evitar ver resultados de arquivos que não estão presentes em sua máquina no momento de digitar o comando, você precisará usar o comando locate-e. O processo pesquisa seu sistema para verificar a existência do arquivo que você está procurando, mesmo que ele ainda esteja presente em seu mlocate.db.


$ locate -i -e *text.txt*

/home/tecmint/text.txt

7. Entradas de saída separadas sem nova linha

O separador padrão do comando locate é o caractere de nova linha (\\n). Mas se preferir usar um separador diferente como o ASCII NUL, você pode fazer isso usando a opção de linha de comando -0.


$ locate -i -0 *text.txt*

/home/tecmint/TEXT.txt/home/tecmint/text.txt

8. Revise seu banco de dados de localização

Se você estiver em dúvida quanto ao status atual do seu mlocate.db, você pode visualizar facilmente as estatísticas do banco de dados de localização usando o comando -S.


$ locate -S

Database /var/lib/mlocate/mlocate.db:
	32,246 directories
	4,18,850 files
	2,92,36,692 bytes in file names
	1,13,64,319 bytes used to store database

9. Suprimir mensagens de erro no Locate

Tentar constantemente acessar seu banco de dados de localização às vezes gera mensagens de erro desnecessárias informando que você não tem os privilégios necessários para ter acesso root ao mlocate.db, porque você é apenas um usuário normal e não o Superusuário necessário.

Para eliminar completamente essas mensagens, use o comando -q.


locate "\*.dat" -q*

10. Escolha um local de localização diferente

Se você estiver inserindo consultas em busca de resultados que não estão presentes no banco de dados mlocate padrão e quiser respostas de um mlocate.db diferente localizado em algum outro lugar do seu sistema, você pode apontar o localizar para um banco de dados mlocate diferente em uma parte diferente do seu sistema com o comando -d.


locate -d <new db path> <filename>

O comando locate pode parecer um daqueles utilitários que faz tudo o que você pede sem muito esforço, mas na verdade, para que o processo mantenha sua eficiência, o mlocate.db precisa ser alimentado com informações de vez em quando. Não fazer isso pode tornar o programa um pouco inútil.