Existe um tipo de arquivo ou método para usar arquivos nos quais certos arquivos se parecem e se comportam como arquivos simbolicamente vinculados, mas contêm meta informações extras para alterar os dados quando eles são lidos?
Por exemplo:
Se eu tiver um arquivo chamado hello-world.txt
e eu criar um arquivo simbolicamente vinculado apontando para ele,
ln -s /path/to/hello-world.txt /path/to/symlink
Não consigo alterar o conteúdo do symlink
sem alterar hello-world.txt
, além de alterar todos os outros arquivos que apontam para hello-world.txt
. Eu percebo que arquivos simbolicamente / hard link devem permanecer os mesmos (porque eles são o mesmo arquivo em um sentido), mas seria ótimo, se eu pudesse escrever um arquivo que referencia um arquivo em particular, e também fornecer detalhes de alteração que são aplicados toda vez que o arquivo é lido.
Eu tentei criar meu próprio tipo de arquivo usando texto simples que se parece com isso:
/path/to/file/being/referenced
change statement
change statement
...
Em seguida, daria a esses arquivos sua extensão de arquivo e tipo mime e crie um programa intermediário para redirecionar para o arquivo referenciado, e basicamente tente imitar o comportamento de um link simbólico. O problema é que o arquivo não "realmente" faz referência a outro arquivo e, assim, ler o arquivo (usando o comando cat, ou ter um processador c ++ puxando o arquivo, etc), não obterá as mesmas informações de volta um arquivo simbolicamente vinculado seria. Eu não tenho certeza se eu posso fornecer um gancho para esse tipo de coisa, e ter um programa de saída do texto correto para o que está lendo. Talvez algo com arquivos canalizados? Não sei.
Qual seria a melhor maneira de obter esse tipo de comportamento no sistema de arquivos?
Talvez uma analogia que melhor descreve o tipo de capacidade dinâmica que eu quero que os arquivos tenham, é como os arquivos php funcionam na web. O mesmo arquivo pode ser referenciado usando parâmetros adicionais e isso altera o conteúdo de um arquivo lido pelo usuário.