¿Cómo extraer archivos a otro directorio utilizando el comando 'tar'?

Pensé que tar archive.tar /users/mylocation funcionaría, pero no lo hace. ¿Cómo puedo hacerlo?

Solución

Para extraer un archivo a un directorio diferente del actual, utilice la opción tar -C, o --directory, como en

tar -xf archive.tar -C /target/directory

Tenga en cuenta que el directorio de destino tiene que existir antes de ejecutar ese comando (se puede crear con mkdir /directorio/destino).

Lea la página de manual (comando: man tar) para otras opciones.

Comentarios (8)

Tenga en cuenta que si su tarball ya contiene un nombre de directorio que desea cambiar, añada la opción --strip-components=1:

tar xf archive.tar -C /target/directory --strip-components=1
Comentarios (3)

Combinando las respuestas y comentarios anteriores:

Para extraer simplemente el contenido y crear el directorio de destino si no existe:

mkdir -p /target/directory && tar xf archive.tar -C /target/directory

Para extraer y también eliminar el directorio raíz (primer nivel) en el zip

mkdir -p /target/directory && tar xf archive.tar -C /target/directory --strip-components=1
Comentarios (0)