Cree un archivo tar que almacene los nombres de los archivos, pero no el contenido de los archivos.

Cree un archivo tar que almacene los nombres de los archivos, pero no el contenido de los archivos.

Básicamente quiero crear una imagen tar de una estructura de carpetas, pero no almacenar el contenido real del archivo. Entonces, cuando descomprimo el archivo, quiero obtener las carpetas originales, los nombres de los archivos, las marcas de tiempo, etc., pero todos los archivos de longitud cero en lugar del contenido del archivo original.

La intención aquí es capturar la estructura de carpetas de una carpeta gigantesca (de gigabytes de tamaño) sin crear un archivo tar de varios gigabytes.

Gracias de antemano.

Respuesta1

si tu cpeslo suficientemente poderoso, Puedes hacerlo:

cp -a --attributes-only olddir newdir

Donde newdirno existe (todavía) y --attributes-onlysignifica

Copie solo los atributos especificados del archivo de origen al destino. […]

Esto no copiará datos; Los archivos normales newdirtendrán tamaño cero. Tenga en cuenta que necesita ser root para replicar todos los atributos (por ejemplo, propiedad), por lo que tal vez necesite sudo cp …. En su lugar, -apuede utilizar opciones más específicas para replicar solo los atributos que realmente necesita.

De todos modos, después de crear newdirarchivos que contengan archivos vacíos, simplemente tareste directorio en lugar de olddir.

Respuesta2

starapoya esto desde hace 18 años.... prueba:

star -c -dump -meta ... | star -tv

Esto enumera todas las entradas como archivos de tipo 'm'eta...

star -c -dump -meta ... | star -C todir -xmeta

extrae todos los archivos en archivos de tamaño 0 bytes.

star -c -dump -meta ... | star -C todir -xmeta -force-hole

extrae todos los archivos como archivos del tamaño original sin datos (archivo disperso).

stares parte de schilytools.

información relacionada