tar - Eliminar los componentes de directorio principales en la extracción


104

¿Cómo puede extraer solo el directorio de destino y no el árbol de directorios completo?

comprimir

tar cf /var/www/site.tar /var/www_bak/site

extraer

tar xf /var/www/site.tar -C /tmp

Esto producirá:

/tmp/var/www/site

¿Cómo es posible evitar que se cree todo el árbol de directorios cuando se extrae el archivo?

Lo que quiero que extraiga a:

/tmp/site

Respuestas:


34

¿Por qué no usar la -Copción al crear:

$ tar cf /var/www/site.tar -C /var/www_bak/ site

1
TMTOWTDI. Eso también funcionaría, usando la misma -Copción;)
— MikeyB

12
Quiere quitar la ruta de algunos componentes principales, no cambiar el directorio de salida. Vea a continuación la respuesta correcta.
— aymericbeaumet

44
No podemos usarlo cuando alguien más prepara el archivo.

Porque `` `_t = prefijo - $ (fecha +% Y% m% d); tar -cjf ".backups / $ _ t.tar.bz2" --transform = "s # ^ (\ ./)? # $ _ t / # x;" - archivos ...; tar -df ".backups / $ _ t.tar.bz2" --strip-components = 1 `` `
— AnrDaemon

258

Desea usar la --strip-components=NUMBERopción de tar:

 --strip-components=NUMBER
       strip NUMBER leading components from file names on extraction

Su comando sería:

tar xfz /var/www/site.gz --strip-components=2 -C /tmp

19
Esta respuesta es mejor porque no tiene que pensarlo antes de la creación del alquitrán. Puede usarlo con un archivo tar ya creado. Gracias @MikeyB!
— Fabien Quatravaux

44
Me complace informar que esto funciona tanto en el alquitrán GNU como en el alquitrán BSD.
— Nathan Osman

44
y porque puede que no seas el creador del alquitrán ... (o si lo estás haciendo con otra herramienta y esa herramienta hace cosas tontas ...)
— xenoterracide

Sin embargo, es posible que aún le falte el --strip-componentsindicador si está utilizando la implementación de busybox incrustado tar.
— sylvainulg

1
@FabienQuatravaux Bueno, sí --- si cometió un error y creó un archivo que incluye los principales directorios que no desea ver durante la extracción. Pero es más claro construir el archivo sin los principales directorios indeseables en primer lugar.
— Calaf
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.