Después de jugar con múltiples bases de datos SQL y NoSQL a lo largo de los años, creo que la mejor manera de garantizar la portabilidad en mis aplicaciones personales centradas en datos es evitar por completo todas las bases de datos genuinas. Veo el sistema de archivos como un hermoso paradigma de base de datos que es portátil, legible por humanos y, por lo tanto, tiene una longevidad suficiente para el tipo de aplicaciones personales que estoy escribiendo. Es como una base de datos gráfica que impone una estructura de árbol (buena para particionar), con enlaces simbólicos para representar relaciones de muchos a uno.
¿Hay alguna manera de exportar toda la topología del sistema de archivos como un solo archivo? El resultado de un find
comando es prometedor, pero no hay una forma estandarizada de exportar los datos que indiquen a qué apunta un enlace simbólico. No quiero crear mi propia elección personal de find
formato de salida, como:
/home/me/photos/beach/me_and_my_dog.jpg -> /home/me/photos/beach/1.jpg
si alguien ha realizado previamente el trabajo de establecer un formato de exportación de topología del sistema de archivos.
Otro candidato es un archivo JSON:
home : [{
me : [{
photos : [{
beach : [{
1.jpg,
{ me_and_my_dog.jpg : ./1.jpg }
}]
}]
}
}]
Pero, de nuevo, hay varias formas de representar los tipos de archivos y me pregunto si alguien ya ha hecho el trabajo de establecer un estándar.
Tenga en cuenta que no deseo exportar el contenido de los archivos, ya que la exportación sería mucho mayor de lo necesario.
fuente
tree
comando (que es increíble), pero no me di cuenta de que ahora es compatible con formatos analizables.tree
comando es la versión de Linux. La versión de Windows todavía solo muestra el "árbol" simple.Puedes usar
mtree
para esto. Consulte www.freebsd.org/cgi/man.cgi?query=mtree&sektion=8&manpath=FreeBSD+6.3-RELEASE y code.google.com/p/mtree-portEs muy versátil
fuente