O sistema de arquivos linux suporta pesquisa / indexação rápida de arquivos?

21

Eu me pergunto por que não existe nenhuma ferramenta que permita encontrar arquivos no disco rígido muito rapidamente, como "pesquisar tudo". Basta digitar uma parte do nome do arquivo e todos os arquivos que contêm a palavra-chave aparecerão instantaneamente. Não é possível criar um programa para registrar os nomes de todos os arquivos em algum diretório de um banco de dados, para que você possa pesquisar rapidamente no banco de dados por nomes de arquivos?

hvjkjdtmkgh
fonte
Um pequeno detalhe, mas pode ajudá-lo a entender melhor o sistema. Em geral, os sistemas de arquivos não suportam diretamente a pesquisa ou a criação de índices. O trabalho do sistema de arquivos é armazenar arquivos. A pesquisa e a indexação são feitas por vários programas utilitários. É feito dessa maneira porque sistema de arquivos mais simples = menor chance de erros e permite que o usuário configure o nível de criação de índice e quais áreas devem ser os alvos.
28916 Perkins

Respostas:

13

Execute sudo updatedbe locate [ filename or part ]
updatedbatualize o banco de dados de índice.
Se você deseja localizar um programa, executewhereis [ program name ]

Gufran
fonte
1
Bom, mas como fazer a pesquisa de localização em algum diretório específico no linux mint?
Hvjkjdtmkgh 7/11
bem, para esse propósito, você pode usar o findcomando, use-o desta maneira. find [path to directory] | grep "file name or part"Isso irá procurar recursivamente, para que você possa apenas pesquisar dentro do diretório base e procurar automaticamente o arquivo dentro de qualquer subdiretório.
Gufran
Por algum diretório específico:locate foo | grep /home/bar/baz
Scott Severance
Obrigado, mas você pode me dar um exemplo? Eu sou completamente novo no Linux. No Windows, você escreve D: \\ foldername \ etc Qual é o equivalente no Linux? Além disso, essa ferramenta possui uma GUI para que eu possa abrir o arquivo diretamente?
Hvjkjdtmkgh 7/11
utilitários como locateou findnão GUI embutido, você pode usar uma ferramenta de terceiros como catfish. Para instalar a ferramenta, você pode procurar catfishno centro de software ou executar este comando sudo apt-get install catfish. Após a instalação, você pode abrir o programa no Unity Dash. com relação à estrutura do arquivo no linux, não há C, Dunidades, todas as partições são montadas como diretório dentro da raiz, ou seja /, barra invertida. então tudo vai diretamente para dentro /, como seu diretório Home (mesmo que o seu diretório de usuários no Windows) está localizado dentro/home/
Gufran
5

Se você estiver procurando apenas nomes de arquivos, isso já é feito, é chamado locate

Para pesquisas mais avançadas, você pode consultar o tracker: https://wiki.ubuntu.com/Tracker (consulte também esta pergunta: Quais são as alternativas ao Spotlight do OS X? )

Você pode encontrar mais opções aqui: https://help.ubuntu.com/community/FindingFiles

Nanne
fonte
Como faço para localizar a pesquisa em um diretório específico?
Hvjkjdtmkgh 7/11
Essa é outra questão, mas você pode encontrar a resposta aqui serverfault.com/questions/313733/... :)
Nanne
mas que encontrar arquivos link no help.ubuntu é uma descrição muito boa de suas escolhas, parece?
Nanne 7/11
@hvjkjdtmkgh: Veja meu comentário na resposta de Gufran para saber como pesquisar em um diretório específico.
9788 Scott's