Android

Localizar comando no linux

Aula 013 - Localizar arquivos linux [Comando find]

Aula 013 - Localizar arquivos linux [Comando find]

Índice:

Anonim

Uma das operações mais comuns ao trabalhar no Linux é procurar arquivos e diretórios. Nos sistemas Linux, existem vários comandos que permitem procurar arquivos com os mais utilizados para locate e locate .

O comando locate é a maneira mais rápida e simples de procurar arquivos e diretórios por seus nomes.

Neste tutorial, explicaremos como usar o comando locate .

Instalando a locate (comando de localização não encontrado)

Dependendo da distribuição e de como o sistema foi provisionado, o pacote de localização pode ou não estar pré-instalado no seu sistema Linux.

Para verificar se o utilitário de locate está instalado no seu sistema, abra o seu terminal, digite locate e pressione Enter . Se o pacote estiver instalado, o sistema exibirá locate: no pattern to search for specified , caso contrário, você verá algo como o locate command not found .

Se a locate não estiver instalada, você poderá instalá-la facilmente usando o gerenciador de pacotes da sua distribuição.

Instalar locate no Ubuntu e Debian

sudo apt update sudo apt install mlocate

Instalar locate no CentOS e Fedora

sudo yum install mlocate

Como locate trabalho

O comando locate procura um determinado padrão por meio de um arquivo de banco de dados gerado pelo comando updatedb . Os resultados encontrados são exibidos na tela, um por linha.

Durante a instalação do pacote mlocate, é criado um trabalho cron que executa o comando updatedb cada 24 horas. Isso garante que o banco de dados seja atualizado regularmente. Para obter mais informações sobre o trabalho cron, verifique o arquivo /etc/cron.daily/mlocate .

O banco de dados pode ser atualizado manualmente, executando o comando updatedb como root ou usuário com privilégios sudo:

sudo updatedb

O processo de atualização levará algum tempo, dependendo do número de arquivos e diretórios e da velocidade do seu sistema.

Os arquivos criados após a atualização do banco de dados não serão mostrados nos resultados da localização.

Comparado ao comando find mais poderoso que pesquisa no sistema de arquivos, o find opera muito mais rápido, mas não possui muitos recursos e pode pesquisar apenas pelo nome do arquivo.

Como usar o comando locate

A sintaxe para o comando locate é a seguinte:

locate PATTERN…

Em sua forma mais básica, quando usado sem nenhuma opção, o comando locate imprime o caminho absoluto de todos os arquivos e diretórios que correspondem ao padrão de pesquisa e para os quais o usuário tem permissão de leitura.

Por exemplo, para procurar um arquivo chamado .bashrc , digite:

locate.bashrc

A saída incluirá os nomes de todos os arquivos que contêm a string .bashrc em seus nomes:

/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

O arquivo /root/.bashrc não será mostrado porque executamos o comando como um usuário normal que não tem permissões de acesso ao diretório /root .

Se a lista de resultados for longa, para melhor legibilidade, você pode canalizar a saída para o comando less :

locate.bashrc | less

O comando locate também aceita padrões contendo caracteres brilhantes, como o caractere curinga * . Quando o padrão não contém caracteres brilhantes, o comando procura por *PATTERN* , por isso, no exemplo anterior, todos os arquivos que continham o padrão de pesquisa em seus nomes foram exibidos.

O curinga é um símbolo usado para representar zero, um ou mais caracteres. Por exemplo, para procurar todos os arquivos .md no sistema, você usaria:

locate *.md

Para limitar os resultados da pesquisa, use a opção -n seguida do número de resultados que você deseja exibir. Por exemplo, o comando a seguir procurará todos os arquivos .py e exibirá apenas 10 resultados:

locate -n 10 *.py

Por padrão, o local executa pesquisas com distinção entre maiúsculas e minúsculas. A --ignore-case -i ( --ignore-case ) tels locate para ignorar maiúsculas e minúsculas e executar uma pesquisa que não diferencia maiúsculas de minúsculas.

locate -i readme.md

/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md

Para exibir a contagem de todas as entradas correspondentes, use a opção -c ( --count ). O comando a seguir retornaria o número de todos os arquivos que contêm .bashrc em seus nomes:

locate -c.bashrc

6

Por padrão, o locate não verifica se os arquivos encontrados ainda existem no sistema de arquivos. Se você excluiu um arquivo após a atualização mais recente do banco de dados, se o arquivo corresponder ao padrão de pesquisa, ele será incluído nos resultados da pesquisa.

Para exibir apenas os nomes dos arquivos que existem no momento em que a locate é executada, use a opção -e ( --existing ). Por exemplo, o seguinte retornaria apenas os arquivos .json existentes:

locate -e *.json

locate --regex -i "(.mp4|\.avi)"

Conclusão

O comando locate procura no sistema de arquivos por arquivos e diretórios cujo nome corresponde a um determinado padrão. A sintaxe do comando é fácil de lembrar e os resultados são mostrados quase instantaneamente.

Para obter mais informações sobre todas as opções disponíveis, digite o comando man locate no seu terminal.

localização do terminal