Wie kann ich Dateien mit dem Befehl 'tar' in ein anderes Verzeichnis extrahieren?


Zur akzeptierten Antwort gehen


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


683





2011-05-26




Anzahl der Antworten: 6


Verwenden Sie zum Extrahieren eines Archivs in ein anderes Verzeichnis als das aktuelle die Option, -C oder --directory , tar, wie in

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

Beachten Sie, dass das Zielverzeichnis vorhanden sein muss, bevor Sie diesen Befehl ausführen (er kann erstellt werden von mkdir /target/directory ).

Weitere Optionen finden Sie auf der Handbuchseite (Befehl man tar :).


975


2011-05-26

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

 tar xf archive.tar -C /target/directory --strip-components=1
 

263


2014-05-21

Die vorherigen Antworten und Kommentare kombinieren:

So extrahieren Sie einfach den Inhalt und erstellen ein Zielverzeichnis, falls es fehlt:

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

So extrahieren und entfernen Sie das Stammverzeichnis (erste Ebene) in der ZIP-Datei

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

31


2016-06-27

Eine andere Option ist --one-top-level. Dadurch wird automatisch ein Verzeichnis erstellt, das auf dem Dateinamen des Originals basiert.

 tar zxvf filename.tgz --one-top-level
 

Wenn Sie möchten, können Sie auch Ihre eigene angeben, und tar erstellt sie automatisch.

 tar zxvf filename.tgz --one-top-level=new_directory
 

22


2018-03-22

Was ich in Bezug auf die Extraktion interessant fand, ist, dass es davon abhängt, wie Sie das Archiv erstellt haben, siehe dieses Beispiel

 cd /tmp
mkdir folder
touch folder/file.txt
 

Wenn Sie dies tun, ist tar -zcvf folder.tar.gz folder alles wie erwartet = Wenn Sie es jetzt entpacken, wird es entpackt (Ordner wird erstellt, wenn Sie es entfernt haben) als /tmp/folder/ .

Wenn Sie jedoch tar as erstellen tar -zcvf tmp-folder.tar.gz /tmp/folder und es im Ordner / tmp entpacken, ist das Ergebnis /tmp/tmp/folder directory! In diesem Fall müssen Sie es enttarieren, um / - tar -xf tmp-folder.tar.gz -C /


2


2017-09-01

Mit tar 1.29 können wir einfach den Verzeichnisnamen nach dem tar-Dateinamen hinzufügen. Zum Beispiel,

 tar zxvf tar-file directory-name/
 

1


2018-06-29