Wie extrahiert man Dateien in ein anderes Verzeichnis mit dem Befehl 'tar'?

Ich dachte, tar archive.tar /users/mylocation würde funktionieren, aber das tut es nicht. Wie kann ich das tun?

Lösung

Um ein Archiv in ein anderes Verzeichnis als das aktuelle zu entpacken, verwenden Sie die tar-Option -C oder --directory, wie in

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

Beachten Sie, dass das Zielverzeichnis vor der Ausführung dieses Befehls existieren muss (es kann mit mkdir /target/directory erstellt werden).

Lesen Sie die Handbuchseite (Befehl: man tar) für andere Optionen.

Kommentare (8)

Wenn Ihr Tarball bereits einen Verzeichnisnamen enthält, den Sie ändern möchten, fügen Sie die Option --strip-components=1 hinzu:

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

Kombination der vorherigen Antworten und Kommentare:

Einfach den Inhalt extrahieren und das Zielverzeichnis erstellen, falls es fehlt:

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

Entpacken und Entfernen des Stammverzeichnisses (erste Ebene) in der ZIP-Datei

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