it-swarm.com.de

So dekomprimieren Sie eine tar.gz in einem anderen Verzeichnis

Ich habe ein Archiv

* .tar.gz

Wie kann ich dies in einem Zielverzeichnis dekomprimieren?

248
Mercer
gzip -dc archive.tar.gz | tar -xf - -C /destination

oder mit GNU tar

tar xzf archive.tar.gz -C /destination
101
Mercer

Sie können die Option -C (oder --directory, wenn Sie lange Optionen bevorzugen) verwenden, um das Zielverzeichnis Ihrer Wahl anzugeben, falls Sie die Gnu-Version von tar verwenden. Das Verzeichnis sollte existieren:

mkdir foo
tar -xzf bar.tar.gz -C foo

Wenn Sie kein tar verwenden, das in ein bestimmtes Verzeichnis extrahiert werden kann, können Sie einfach cd in Ihr Zielverzeichnis kopieren, bevor Sie tar aufrufen. dann müssen Sie natürlich einen vollständigen Pfad zu Ihrem Archiv angeben. Sie können dies in einer Subshell mit Gültigkeitsbereichen tun, um eine Beeinflussung des umgebenden Skripts zu vermeiden:

mkdir foo
(cd foo; tar -xzf ../bar.tar.gz)  # instead of ../ you can use an absolute path as well

Wenn weder ein absoluter noch ein relativer Pfad zur Archivdatei geeignet ist, können Sie das Archiv auch so benennen, dass es außerhalb der Subshell des Gültigkeitsbereichs liegt:

TARGET_PATH=a/very/complex/path/which/might/even/be/absolute
mkdir -p "$TARGET_PATH"
(cd "$TARGET_PATH"; tar -xzf -) < bar.tar.gz
296
Alfe

Extrahiert myArchive.tar nach /destinationDirectory

Befehle:

cd /destinationDirectory
pax -rv -f myArchive.tar -s ',^/,,'
4
javaPlease42