No Windows, existe um bom mecanismo de busca de arquivos chamado Tudo , que é (ao contrário find
) muito rápido e (ao contrário locate
) sempre retorna resultados atualizados. AFAIK funciona preenchendo um banco de dados do diário NTFS (não funciona com outros sistemas de arquivos).
Gostaria de saber se há algo semelhante (não me importo com a GUI; meu ponto é a velocidade e a garantia atualizada) para Linux (ext3 ou ext4); Pesquisei no Google, mas não encontrei nada. Pode algo assim ser feito ou alguém está trabalhando nisso?
filesystems
search
journaling
maaartinus
fonte
fonte
Respostas:
Você pode dar uma olhada no rlocate , uma reimplementação da localização que está sempre atualizada. Outro projeto interessante é o recoll, que também suporta indexação em tempo real e permite que você (como o beagle) faça pesquisas de texto completo. Finalmente, devo mencionar o doodle, que também suporta indexação em tempo real. Para o doodle, existem algumas interfaces interessantes, como o peixe-gato .
Observe que você também pode tornar (r) localizar resultados clicáveis usando, por exemplo, urxvt como emulador de terminal e escrevendo algo como
(e executando
xrdb -load ~/.Xdefaults
depois)fonte
rlocate
já faz uma resposta completa.Show in File Manager
20 vezes../configure
disseram-me que devo "instalar o pacote com fontes completas do kernel". Essa ferramenta parece estar fora do alcance de não-gurus.Eu também estava procurando a ferramenta "Search Everything" para linux e descobri o "Search Monkey" no repositório Ubuntu. ADORO!
É leve, carrega pesquisas rápidas e curinga, produz toneladas de resultados instantaneamente, além de filtros e métodos de pesquisa avançados.
Agora eu tenho minha ferramenta de pesquisa "Tudo" de volta para linux!
fonte
Idéia interessante para implementar isso enraizada no sistema de arquivos, mas nada disso existe para o meu conhecimento. Além de alguns complementos que tentam se aprofundar o suficiente nas camadas superiores do fs para obter dados antecipados (atualização: tudo se encaixa nessa categoria), receio que você esteja limitado aos processos menos satisfatórios de indexação regular.
O que pode estar mais próximo do que você está procurando pode ser o sistema de arquivos virtual libferris.
No mundo da indexação, você pode querer dar uma olhada em visão , que, pelo menos, é capaz de atualizar e acrescentar seu índice.
Atualização: Acabei de ler as coisas sobre "Tudo", e também não parece ser inerente ao FS, então a libferris não está tão longe assim, além de permitir indexar o conteúdo, não apenas os nomes de arquivos. Satisfaz a sua necessidade de estar sempre atualizado.
fonte
Você pode usar o
locate
comando e, se desejar atualizar seu banco de dados, execute o seguinte comando:Este comando atualiza o banco de dados de localização em alguns segundos
fonte
Você verificou a Pesquisa com raiva . Alega em sua descrição que é como tudo. O FSearch também afirma o mesmo.
fonte
Deve ser possível criar algo parecido com isto em algumas linhas de código usando o inotify (há também o pacote inotify-tools que permite implementar isso usando scripts de shell).
(Eu ficaria muito surpreso que qualquer ferramenta desse tipo fosse retirada do diário - mais provavelmente é implementada na camada do sistema de arquivos virtual)
fonte
inotify
poderia ser útil aqui, pois não é recursivo. Criar relógios para toda a árvore é simples, mas o kernel pode lidar com muitas dezenas de milhares deles? Mesmo que possa, isso não parece uma maneira eficaz para mim.Você pode tentar o beagle . Infelizmente, o http://www.beagle-project.org agora é um domínio estacionado - wikipedia.
fonte
btrfs
implementou ofind-new
comando contra subvolumes por anos. Se você mantiver uma árvore de instantâneos relativamente atualizada, ela poderá ser usada para monitorar atomicamente um sistema de arquivos para todas as alterações com pouco esforço.Você usaria como:
Você pode obter o gen-id necessário para comparação com o mesmo comando, mas usando um gen-id falso. Há mais informações aqui .
fonte
Interface da interface do usuário para o comando de localização que funciona quase da mesma forma que Tudo:
https://github.com/AlexTuduran/Locator/releases
fonte
locate
nunca é atualizada automaticamente.locate
usa o mesmo princípio, exceto que o banco de dados não é atualizado automaticamente . Olocate
pacote inclui umacron
tarefa que atualiza automaticamente o banco de dados.Estou usando o Angry Search em um Raspberry Pi 3 B + executando o Stretch e funciona bem. É realmente muito rápido, assim como Pesquisar tudo no Windows. É muito bom poder encontrar arquivos tão rapidamente.
fonte