Maneiras de usar o comando 'find' para pesquisar os diretórios com mais eficiência

Maneiras de usar o comando 'find' para pesquisar os diretórios com mais eficiência

Este tutorial o levará através das diferentes maneiras de encontrar um diretório no Linux. Como você já deve saber, no Linux tudo é um arquivo, incluindo diretórios. E uma das coisas comuns que um usuário do Linux fará dentro da linha de comando está procurando um arquivo ou um diretório.

Existem vários meios e utilitários diferentes usados ​​para procurar arquivos na linha de comando, como encontrar, localizar e qual. No entanto, a última utilidade (qual) é usado apenas para localizar um comando.

Para o escopo deste tutorial, focaremos principalmente no utilidade do Find, que pesquisam arquivos em um sistema de arquivos Linux ao vivo e é mais eficiente e confiável em comparação com localizar.

A desvantagem de localizar é que lê um ou mais bancos de dados criados por atualizadob, Não procura através de um sistema de arquivos ao vivo. Além disso, não oferece flexibilidade sobre onde procurar (ponto de partida).

Abaixo está a sintaxe para executar localizar comando:

# Locate [Opção] [Patern de pesquisa] 

Para demonstrar a desvantagem de localizar, Vamos supor que estamos procurando um diretório nomeado pkg No diretório de trabalho atual.

Observação: No comando abaixo, a opção --nome de base ou -b diz localizar para corresponder apenas ao nome do arquivo (diretório) de nome de base (que é exatamente pkg) mas não o caminho (/caminho/para/pkg). Onde \ é um personagem global, ele desativa a substituição implícita de pkg por *pkg*.

$ Locate -BaseName '\ pkg' 
Encontre diretório usando o comando locate

Como você pode ver na saída do comando acima, localizar Vai pesquisar a partir da raiz (/) diretório, é por isso que outros diretórios com o mesmo nome são correspondidos.

Portanto, para lidar com este problema, use encontrar Seguindo a sintaxe simplificada abaixo:

$ Find Opções do ponto de partida [Expressão] 

Vejamos alguns exemplos.

Para procurar o mesmo diretório (PKG) acima, dentro do diretório de trabalho atual, execute o seguinte comando, onde o -nome Flag lê a expressão que neste caso é o nome de base do diretório.

$ encontre . -nome "pkg" 

Se você encontrar “Permissão negadaErros, use o comando sudo como assim:

$ sudo encontre . -nome "pkg" 
Pesquise um diretório usando o comando find

Você pode impedir a descoberta de procurar outros tipos de arquivos, exceto diretórios usando -tipo sinalizador para especificar o tipo de arquivo (no comando abaixo d significa diretório) da seguinte forma:

$ sudo encontre . -Tipo D -name "PKG" 

Além disso, se você deseja listar o diretório em um longo formato de listagem, empregue o interruptor de ação -ls:

$ sudo encontre . -tipo D -name "pkg" -ls 
Encontre e listar diretório

Em seguida, a opção -iname permitirá uma pesquisa insensível ao caso:

$ sudo encontre . -Tipo D -Iname "PKG" $ sudo Find . -Tipo D -Name "PKG" 
Encontre o diretório com case sensível

Para encontrar informações de uso mais interessantes e avançadas, leia as páginas do homem de encontrar e localizar.

$ homem encontre $ homem localize 

Como última observação, o comando de encontro é mais confiável e eficiente para pesquisar arquivos (ou diretórios) em um sistema Linux quando pesado contra o localizar comando.

Da mesma maneira que antes, não se esqueça de nos enviar seus comentários ou perguntas através da seção de comentários abaixo. Por fim, sempre permaneça conectado a Tecmint.