Ist es möglich, ein Zielverzeichnis zu erstellen, ähnlich dem mkdir -p
, in dem ich ein nicht vorhandenes Zielverzeichnis in meinem Befehl tar definieren kann und tar das Verzeichnis für mich erstellt?
Ich weiß, dass ich die Ausgabe mithilfe von in ein Verzeichnis umleiten kann tar -C /target/dir
, aber dies funktioniert nicht, wenn das Zielverzeichnis nicht vorhanden ist.
Antworten:
quelle
mkdir -p /target/dir && tar -C $_
$_
ist ein spezieller Parameter in Bash, der bis zum letzten Argument des vorherigen Befehls erweitert wird.Aus der Manpage des Befehls tar
----- Prüfung
Test 1
// Wenn der TGZ-Name mit root_dir des Archivs identisch ist, hat dies keine weiteren Auswirkungen
Test 2
// Wenn der TGZ-Name nicht mit dem Stammverzeichnis des Archivs übereinstimmt, erstellen Sie ein Verzeichnis der obersten Ebene
quelle
Das ergab für mich mehr Sinn:
mkdir -p /create/folder && tar -zxf haroopad-v0.13.0_x64.tar.gz -C /create/testfolder
mkdir
macht den ordner obwohl ich den-p
schalter nicht ganz verstehe .&&
lässt Sie einen zweiten Befehl ausführen. Ich habe typische tar-Schalter verwendet, aber am Ende-C
wird verwendet, um die Verzeichnisse zu wechseln und an den gewünschten Ort zu extrahieren.referenz: dateien extrahieren, die in archive tar gz to new directory named archive enthalten sind
quelle
/create
wenn es nicht existiert.Wenn Sie die zu erstellenden Pfade nicht kennen ...
Holen Sie sich die erforderlichen Pfade aus der TAR-Datei und erstellen Sie sie ...
quelle