Comment tarballer un répertoire sans transporter / chemin / vers / dossier?

15

Exemple de commande:
$ tar -cvjf destination.tar.bz2 /path/to/folder/source

J'aimerais que la finale destination.tar.bz2, une fois extraite, n'inclue pas de /path/to/folder/répertoire de fichiers. Il semble inefficace d'extraire l'archive tar puis de transférer le contenu de /path/to/folder/sourcedans un répertoire différent.

bouteilles
la source
connexes: stackoverflow.com/questions/18681595/…
Ciro Santilli 新疆 新疆 中心 法轮功 六四 六四

Réponses:

19

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

-C (majuscule) signifie 'changer de répertoire', donc la spécification de votre fichier devient relative au chemin fourni avec -C

mince
la source
Gardez à l'esprit que le chemin que vous fournissez pour "source" est relatif au "-C". C'est ce que @thinice a écrit, c'est juste que si vous fournissez toujours un chemin absolu au lieu de relatif même lorsque vous utilisez "-C", vous n'obtenez pas le résultat souhaité.
GuyPaddock
4

Il existe de nombreuses façons d'y parvenir, mais c'est probablement la plus simple:

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