Depois de jogar com vários bancos de dados SQL e NoSQL ao longo dos anos, sinto que a melhor maneira de garantir a portabilidade em meus aplicativos pessoais centrados em dados é evitar todos os bancos de dados confiáveis. Eu vejo o sistema de arquivos como um belo paradigma de banco de dados que é portátil, legível por humanos e, portanto, tem longevidade suficiente para o tipo de aplicativos pessoais que estou escrevendo. É como um banco de dados gráfico que aplica uma estrutura em árvore (boa para particionar), com links simbólicos para representar relacionamentos muitos-para-um.
Existe uma maneira de exportar toda a topologia do sistema de arquivos como um único arquivo? A saída de um find
comando é promissora, mas não há uma maneira padronizada de exportar os dados que indicam o que um link simbólico aponta. Não quero criar minha própria escolha pessoal de find
formato de saída, como:
/home/me/photos/beach/me_and_my_dog.jpg -> /home/me/photos/beach/1.jpg
se alguém já fez o trabalho de estabelecer um formato de exportação de topologia de sistema de arquivos.
Outro candidato é um arquivo JSON:
home : [{
me : [{
photos : [{
beach : [{
1.jpg,
{ me_and_my_dog.jpg : ./1.jpg }
}]
}]
}
}]
mas, novamente, existem várias maneiras de representar tipos de arquivo e me pergunto se alguém já fez o trabalho de estabelecer um padrão.
Observe que não desejo exportar o conteúdo dos arquivos - isso tornaria a exportação muito maior que o necessário.
fonte
tree
comando (o que é incrível), mas não sabia que agora ele suporta formatos analisáveis.tree
comando é a versão do Linux. A versão do Windows ainda gera apenas a "árvore" simples.Você pode usar
mtree
para isso. Consulte www.freebsd.org/cgi/man.cgi?query=mtree&sektion=8&manpath=FreeBSD+6.3-RELEASE e code.google.com/p/mtree-portÉ muito versátil.
fonte