Standard-Tar-Verzeichnis

Standard-Tar-Verzeichnis

Ich kann das Standardverzeichnis nicht finden, in das .tar-Dateien extrahiert werden. Betriebssystem – Ubuntu 16 4. Bitte antworten Sie nicht: im selben Ordner wie die Tar-Datei, da sie dort nicht ist (und jedes Tutorial oder jede Frage, die ich gefunden habe, verwendet diese Antwort). Helfen Sie mir bitte?!

Antwort1

Beim Komprimieren des Bildes kann die Verzeichnisstruktur beibehalten werden. So können Sie die Verzeichnisstruktur von a anzeigen, tarohne tares zu entfernen:

tar -ztvf my-data.tar.gz

Das -t(kurz für --list):

Listet den Inhalt eines Archivs auf. Argumente sind optional. Wenn sie angegeben werden, geben sie die Namen der aufzulistenden Mitglieder an.

Wenn es sich nicht im selben Verzeichnis befindet, aus dem die tarDatei extrahiert wurde, befindet es sich in einem Unterverzeichnis dieses Verzeichnisses, sofern nicht -Coder --directoryangegeben wurde:

   -C, --directory=DIR
          Change  to  DIR  before  performing any operations.  This option is
          order-sensitive, i.e. it affects all options that follow.

Versuchen Sie find . -name '*expected file*', im aktuellen Verzeichnis danach zu suchen.

Antwort2

Dies ist das Verzeichnis, das im Archiv verschlüsselt ist, sofern es nicht -Cbeim Entpacken mit eg geändert wird. Sie können jederzeit eine Auflistung der Dateipfade im Archiv erhalten mit

tar -t -f archive.tar

Die im Archiv gespeicherten Pfade sindfast immerrelative Pfade (sofern nicht -Pbeim Erstellen des Archivs verwendet), was bedeutet, dass der Inhalt des Archivs als Dateihierarchie im aktuellen Verzeichnis entpackt wird (sofern nicht mit geändert -C).

Antwort3

Der tarBefehl extrahiert Dateien in seineraktuelles Arbeitsverzeichnis. Wenn Sie tarvon einer Shell aus ausführen, ist dies das aktuelle Arbeitsverzeichnis der Shell, das vom cdBefehl festgelegt, vom pwdBefehl angezeigt und manchmal in der Eingabeaufforderung angezeigt wird. Das Extraktionsverzeichnis kann mit der -COption geändert werden.

Viele Tar-Dateien enthalten alle Dateien in einem einzigen Verzeichnis der obersten Ebene (relativ zum Extraktionsverzeichnis), normalerweise mit einem Namen, der der Tar-Datei ähnelt. In diesem Fall befinden sich alle extrahierten Dateien in diesem Verzeichnis. Dies ist jedoch keine Voraussetzung, da es viele Tar-Dateien gibt, die mehrere Verzeichnisse und Dateien der obersten Ebene enthalten. Andererseits werden tarunter Ubuntu und den meisten anderen Systemen keine Dateien außerhalb des Extraktionsverzeichnisses extrahiert.

Das Extraktionsverzeichnis hängt überhaupt nicht vom Speicherort der Tar-Datei ab. (Das gilt für den tarBefehl und im Allgemeinen für die meisten Befehlszeilenprogramme zur Archivbearbeitung. GUI-Programme können sich anders verhalten.) Das Extraktionsverzeichnis ist der Speicherort der Tar-Datei, wenn das übergebene Argument für den Tar-Dateinamen tarkeinen Verzeichnisteil enthält, aber im Allgemeinen könnte es überall sein.

Wenn Sie sich nicht erinnern, welches das aktuelle Verzeichnis war, als Sie den tarBefehl ausgeführt haben, überprüfen Sie Ihren Shell-Verlauf (in Bash drücken Sie Ctrl+ Rund geben dann ein tar; drücken Sie erneut Ctrl+ R, um die Suche zu wiederholen). Wenn Sie einen relativen Pfad zum Archiv finden (z. B. tar xf subdir/archive.tar), können Sie möglicherweise herausfinden, welches das aktuelle Verzeichnis war (in diesem Beispiel war es das übergeordnete Verzeichnis des Verzeichnisses, das das Archiv enthält). Natürlich hilft das nicht immer, beispielsweise wenn der Pfad absolut ist.

Wenn Sie die Dateien nicht finden können, können Sie versuchen, nach Dateien zu suchen, die im richtigen Zeitraum erstellt oder geändert wurden (genauer gesagt, nach jeglicher Änderung, die an der Datei oder ihren Eigenschaften vorgenommen wurde), mit dem Befehlfindund seine -ctimeoder -cminOption, zB

find ~ -cmin +30 -cmin -61

um in Ihrem Home-Verzeichnis nach Dateien zu suchen, die vor 30 bis 60 Minuten geändert wurden. Anstelle von -cminund -ctimekönnen Sie verwenden, -cnewer somefileum den Änderungszeitpunkt mit dem der Datei zu vergleichen somefile. Sie können -name fooam Ende des findBefehls hinzufügen, um die Suche auf einen bestimmten Dateinamen einzugrenzen, der im Archiv enthalten ist (ohne Verzeichnisteil).

Wenn Sie taram Vortag oder davor gelaufen sind, dannLokalisierenDie Datenbank kann Ihnen mitteilen, wo sich Ihre Datei befindet. Wenn das Archiv beispielsweise eine Datei enthält, some/directory/myfile.txtwird locate some/directory/myfile.txtIhnen mitgeteilt, wo diese Datei zu finden ist.

verwandte Informationen