Ok. Depois de tentar formular essa questão algumas vezes, verifica-se que esta será longa. Anywho:
Considere esta estrutura de arquivos:
photos/
ants/
pic1.jpg
animals/
dog.png
profile_pic.jpg
se você fizer
cd photos
ls
você recebe
ants/ animals/ profile_pic.jpg
No entanto, como os diretórios vacation e animals contêm apenas um arquivo cada, pode ser mais útil obter
ants/pic1.jpg ani../dog.png profile_pic.jpg
diretamente, ao contrário de ter que visitar cada um dos animais e férias. Na conclusão da tabulação, no entanto, como no cd a, você desejaria sugestões dos diretórios.
Então eu sei que a conclusão do bash é tratada pelo script / etc / bash_completion (não quero ir lá) e pela biblioteca readline, mas isso não afeta realmente o ls e certamente não ajuda se você quiser estender funcionalidade para gerenciadores de arquivos como um nautilus. Portanto, eu esperava que algumas dessas coisas pudessem ser resolvidas usando um sistema de arquivos personalizado em vez de um fusível. Uma investigação inicial baseada em este tutorial foi um pouco deprimente, como o sistema de arquivos de fusíveis parece de maneira alguma diferencie entre meus diferentes casos de uso (readdir, opendir, releasedir toda vez).
Para formular uma pergunta: De que maneira uma funcionalidade semelhante poderia ser abordada, se é possível mesmo sem uma grande revisão no kernel? Onde devo procurar mais informações?
Obrigado pelo seu tempo!
EDIT: Para esclarecer, bash é um exemplo útil, mas no final eu quero que isso seja o mesmo através do nautilus e todos os outros programas acessando os arquivos, e eu vou escrever um sistema de arquivos de qualquer maneira para outros problemas.