Wie kann ich ein Verzeichnis tarballen, ohne / path / to / folder zu übertragen?


15

Beispielbefehl:
$ tar -cvjf destination.tar.bz2 /path/to/folder/source

Ich möchte, dass das endgültige Verzeichnis destination.tar.bz2beim Extrahieren kein /path/to/folder/Dateiverzeichnis enthält. Es scheint ineffizient zu sein, den Tarball zu extrahieren und dann den Inhalt /path/to/folder/sourcein ein anderes Verzeichnis zu verschieben.


Antworten:


19

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

-C (Großbuchstaben) bedeutet "Verzeichnis ändern", daher wird Ihre Dateispezifikation relativ zum angegebenen Pfad -C


Beachten Sie, dass der von Ihnen für "source" angegebene Pfad relativ zum "-C" ist. Das ist es, was @thinice geschrieben hat. Es ist nur so, dass, wenn Sie selbst bei Verwendung von "-C" immer noch einen absoluten Pfad anstelle eines relativen angeben, Sie nicht das gewünschte Ergebnis erzielen.
GuyPaddock

4

Es gibt viele Möglichkeiten, dies zu erreichen, aber dies ist wahrscheinlich die einfachste:

cd /path/to/folder
tar -cvjf /past/to/destination.tar.bz2 source
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.