¿Cómo tarball un directorio sin cargar / ruta / a / carpeta?

15

Comando de ejemplo:
$ tar -cvjf destination.tar.bz2 /path/to/folder/source

Me gustaría que el final destination.tar.bz2, cuando se extraiga, no incluya un /path/to/folder/directorio de archivos. Parece ineficiente extraer el tarball y luego mover el contenido /path/to/folder/sourcea un directorio diferente.

botellas
fuente
relacionado: stackoverflow.com/questions/18681595/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Respuestas:

19

tar -C /path/to/folder -cvjf /path/for/acrhive.tar.bz2 source

-C (mayúscula) significa 'cambiar directorio', por lo que la especificación de su archivo se vuelve relativa a la ruta provista con -C

hielo delgado
fuente
Tenga en cuenta que la ruta que proporciona para "fuente" es relativa a la "-C". Como, eso es lo que escribió @thinice, es solo que si todavía proporciona una ruta absoluta en lugar de relativa incluso cuando usa "-C", no obtiene el resultado deseado.
GuyPaddock
4

Hay muchas formas de lograrlo, pero esta es probablemente la más simple:

cd /path/to/folder
tar -cvjf /past/to/destination.tar.bz2 source
Chris S
fuente