![Encontrar arquivos no Linux com find](https://i.ytimg.com/vi/VPiNq0jda7Y/hqdefault.jpg)
Contente
- Passos
- Método 1 de 3: o utilitário find
- Método 2 de 3: localize o utilitário
- Método 3 de 3: Encontrar texto em arquivos
Encontrar um arquivo em um sistema Linux é bastante difícil se você não sabe como fazê-lo. É melhor usar comandos diferentes inseridos no Terminal. Tendo dominado esses comandos, você terá controle total sobre os arquivos; além disso, esses comandos são mais funcionais do que mecanismos de pesquisa semelhantes em outros sistemas operacionais.
Passos
Método 1 de 3: o utilitário find
1 Encontre o arquivo pelo nome. Essa pesquisa simples é realizada usando o utilitário encontrar... O comando abaixo irá procurar um arquivo no diretório atual e todos os seus subdiretórios.
find -iname "nome do arquivo"
- Digitar -iname ao invés de -nomepara ignorar maiúsculas e minúsculas no nome do arquivo inserido. Equipe -nome é sensível a maiúsculas e minúsculas.
2 Comece a pesquisar no diretório raiz. Para iniciar uma pesquisa em todo o sistema, adicione o modificador à consulta /... Neste caso, o comando encontrar irá procurar o arquivo em todos os diretórios, começando na raiz.
find / -iname "nome do arquivo"
- Você pode começar a pesquisar em um diretório específico; para fazer isso, substitua / para um caminho de diretório, por exemplo / home / max.
- Pode ser usado . ao invés de /para pesquisar o arquivo apenas no diretório atual e seus subdiretórios.
3 Use um símbolo de generalização.*para localizar arquivos cujo nome corresponda à parte da solicitação. Usando o símbolo de generalização * você pode localizar um arquivo cujo nome completo seja desconhecido ou todos os arquivos com uma extensão específica.
find / home / max -iname " *. conf"
- Este comando encontrará todos os arquivos com extensão .conf na pasta do usuário Max (e suas subpastas).
- Use este comando para localizar todos os arquivos que correspondem a parte da consulta. Por exemplo, se você tiver muitos arquivos relacionados ao WikiHow em seu computador, encontre todos os arquivos digitando " * wiki *".
4 Facilite o gerenciamento dos resultados da pesquisa. Se houver muitos resultados da pesquisa, será difícil encontrar o arquivo que você está procurando. Use o símbolo |para filtrar os resultados da pesquisa com menos. Isso tornará mais fácil visualizar e filtrar os resultados da pesquisa.
find / home / max -iname " *. conf" | menos
5 Encontre itens específicos. Use modificadores para mostrar apenas itens específicos nos resultados da pesquisa. Você pode pesquisar por arquivos normais (f), diretórios (d), links simbólicos (eu), dispositivos de I / O de caracteres (com) e dispositivos de bloqueio (b).
find / -type f -iname "nome do arquivo"
6 Filtre os resultados da pesquisa por tamanho de arquivo. Se você tiver muitos arquivos com nomes semelhantes em seu computador, mas souber o tamanho do arquivo que está procurando, filtre os resultados da pesquisa por tamanho de arquivo.
find / -size + 50M -iname "nome do arquivo"
- Este comando encontrará todos os arquivos com mais de 50 MB. Use um modificador + ou -para indicar um aumento ou diminuição no tamanho. Se o modificador + ou - não, o comando encontrará arquivos exatamente do mesmo tamanho que o tamanho especificado.
- Os resultados da pesquisa podem ser filtrados por bytes (c), kilobytes (k), megabytes (M), gigabytes (G) ou blocos de 512 bytes (b) Observe que os modificadores mostrados diferenciam maiúsculas de minúsculas.
7 Use operadores lógicos (operadores booleanos) para combinar filtros de pesquisa. Operadores podem ser usados -e, -ou, -nãopara combinar diferentes termos de pesquisa em uma única consulta.
find / travelphotos -type f -size + 200k -not -iname " * 2015 *"
- Este comando encontrará na pasta "Travelphotos" arquivos maiores que 200 KB e que não tenham o número 2015 em seus nomes.
8 Encontre arquivos por proprietário ou permissões. Se precisar encontrar um arquivo pertencente a um usuário específico ou um arquivo com direitos de acesso específicos, você pode restringir sua pesquisa.
find / -user max -iname "nome do arquivo" find / -group users -iname "nome do arquivo" find / -perm 777 -iname "nome do arquivo"
- Os comandos acima encontrarão o arquivo para um usuário específico, grupo ou com direitos de acesso específicos. Você também pode omitir o nome do arquivo na consulta para localizar todos os arquivos que correspondem aos critérios especificados. Por exemplo, o comando find / -perm 777 encontrará todos os arquivos com permissões 777 (ilimitado).
9 Combine os comandos para executar ações específicas após a conclusão da pesquisa de arquivos. O time encontrar pode ser combinado com outros comandos que irão processar os arquivos encontrados. Para fazer isso, entre a equipe encontrar e com o segundo comando digite -exece no final da linha digite {} ;
encontrar. -tipo f -perm 777 -exec chmod 755 {} ;
- Este comando encontrará no diretório atual (e seus subdiretórios) todos os arquivos com permissões 777, e então usando o comando chmod os direitos de acesso serão alterados para 755.
Método 2 de 3: localize o utilitário
1 Instale o utilitário.localizar... Este utilitário é mais rápido que o utilitário encontrarporque ele realmente não verifica o sistema de arquivos. No entanto, nem todas as distribuições do Linux vêm com o utilitário. localizarentão digite os seguintes comandos para instalá-lo:
- Digitar sudo apt-get update e pressione ↵ Entre.
- No Debian e no Ubuntu, faça o seguinte: digite sudo apt-get install mlocate e pressione ↵ Entre... Se localizar já instalado, uma mensagem é exibida mlocate já é a versão mais recente (Última versão instalada).
- No Arch Linux, use o gerenciador de pacotes pacman: pacman -Syu mlocate
- No Gentoo, use emerge: emerge mlocate
2 Atualize o banco de dados do utilitário.localizar... Este utilitário não será capaz de encontrar nada sem um banco de dados previamente criado e atualizado (que armazena uma aparência de um instantâneo do sistema de arquivos). O banco de dados é atualizado diariamente em modo automático, mas pode ser feito manualmente. Atualize o banco de dados manualmente para começar a trabalhar imediatamente com localizar.
- Digitar sudo atualizadob e pressione ↵ Entre.
3 Usar.localizarpara realizar pesquisas simples. Utilitário localizar funciona rapidamente, mas não é tão funcional quanto o utilitário encontrar... Equipe localizar lida com consultas de pesquisa simples de forma semelhante ao comando encontrar.
localizar -i " *. jpg"
- Este comando encontrará (em todo o sistema) todos os arquivos com a extensão .webp... Aqui, o símbolo de generalização * funciona da mesma forma que a equipe encontrar.
- Como o time encontrar, modificador -eu ignora o caso do termo de pesquisa.
. 4 Limite o número de resultados da pesquisa. Se houver muitos resultados da pesquisa, encurte-os com o modificador -n e um número que determina o número de resultados da pesquisa exibidos.
localizar -n 20 -i " *. jpg"
- Este comando exibirá os primeiros 20 resultados que correspondem ao seu termo de pesquisa.
- Você também pode usar o símbolo |para filtrar os resultados da pesquisa com menos. Isso tornará mais fácil ver os resultados da pesquisa.
Método 3 de 3: Encontrar texto em arquivos
1 Use o comando.greppara pesquisar texto em arquivos. Faça isso para localizar um arquivo que contenha uma frase ou linha específica. Formato de comando básico grep do seguinte modo:
grep -r -i "consulta de pesquisa" / caminho / para / diretório /
- Modificador -r torna a pesquisa recursiva, de modo que qualquer arquivo que contenha uma string do termo de pesquisa será encontrado no diretório atual (e em todos os subdiretórios).
- Modificador -eu indica que a solicitação não faz distinção entre maiúsculas e minúsculas. Para diferenciar maiúsculas de minúsculas, não insira o modificador -eu.
2 Oculte o texto em excesso. Ao executar o comando grep (conforme descrito acima) o nome do arquivo e o texto com a frase ou string em destaque especificada na consulta de pesquisa serão exibidos na tela. Você pode ocultar esse texto para exibir apenas o nome e o caminho do arquivo. Para fazer isso, digite o seguinte comando:
grep -r -i "consulta de pesquisa" / caminho / para / diretório / | cut -d: -f1
3 Oculte mensagens de erro. Equipe grep exibe uma mensagem de erro se tentar acessar pastas sem as permissões adequadas ou terminar em pastas vazias. Essas mensagens podem ser enviadas para / dev / null para que não apareçam na tela.
grep -r -i "consulta de pesquisa" / caminho / para / diretório / 2> / dev / null