En los sistemas Unix, los archivos se pueden unir mediante la cat
utilidad (los sistemas Windows tienen type
ocopy /B
).
cat file1 file2 file3 > joined-file
Esto toma el contenido de los archivos antiguos y lo copia en un solo archivo nuevo. El proceso lleva el tiempo necesario para leer los archivos antiguos y escribir el nuevo. El nuevo archivo se almacena por separado en los archivos antiguos, por lo que el comando fallará si no queda suficiente espacio libre en el disco para escribir el nuevo archivo.
¿Hay alguna forma más rápida de combinar los archivos, o al menos "engañar" a los programas para que piensen que los archivos están combinados, que no implica mover o copiar datos en el disco?
Una forma de hacerlo podría ser modificar el TOC del sistema de archivos para que los archivos se traten como fragmentos de un archivo más grande. ¿Hay una manera "segura" de hacer esto (es decir, más seguro que usar dd
para modificar el TOC manualmente)?
Estoy interesado en cualquier método para unir los archivos, en cualquier plataforma, que sea más rápido y requiera menos espacio en disco que concatenar físicamente los archivos.
dmsetup
herramienta está diseñada para trabajar con dispositivos de bloque y / o archivos normales que son imágenes de dispositivos de bloque, por lo que utiliza bloques comunes de 512 B. Quizás uno podría bifurcar el proyecto y modificar la fuente para permitir una resolución de 1 B, I no lo se
nbd
, no pude hacerlo funcionar tan fácilmente. Investigue concatfs y / o concat-fuse (este ya está en la respuesta de davidgo a continuación). No los he probado, así que esto es solo un comentario.