Ich benutze den tar -xvf
Befehl und er nimmt den expliziten Pfad. Der Pfad ist jedoch voll.
Beispiel:
tar -xvf 13.2.tar
Es wird den Weg des /mnt
Ordners. Der /
Ordner ist voll.
Wie kann ich die Datei mit dem impliziten Pfad tarieren?
Ich benutze den tar -xvf
Befehl und er nimmt den expliziten Pfad. Der Pfad ist jedoch voll.
Beispiel:
tar -xvf 13.2.tar
Es wird den Weg des /mnt
Ordners. Der /
Ordner ist voll.
Wie kann ich die Datei mit dem impliziten Pfad tarieren?
Antworten:
Benötigt normalerweise tar
die Option --absolute-names
oder --absolute-paths
, um den Stammteil '/'
beim Erstellen eines Archivs beizubehalten . Auch wenn Sie es auf diese Weise zu erzwingen, überspringt der Extrakt der führende '/'
zu.
Wenn Sie jedoch ein Archiv mit dem führenden haben '/'
und es beim Extrahieren nicht überspringt, sollte die Antwort von NoahD in dieser Form funktionieren.
pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar
Ich denke, verarbeitet pax
keine komprimierten Dateien, so dass Sie nach dem Dekomprimieren in leiten müssen pax
.
Das würde so gehen (vorausgesetzt, Sie haben ein gezipptes Archiv)
gunzip -c 13.2.tar.gz | pax -r -s ',/mnt,/new/path,' -v
Ich habe diese Wiki-Seite gerade bei Google gefunden.
Der Unterschied zwischen der Verwendung von kanonisch (auch bekannt als explizit) und relativ (was Sie wahrscheinlich als implizit bezeichnen) besteht darin, ob Sie /
am Anfang ein verwenden.
Wenn sich beispielsweise das aktuelle Arbeitsverzeichnis befindet /usr/home/bob
, haben die folgenden Befehle genau den gleichen Effekt
tar -xvf foo.tar * tar -xvf ./foo.tar * tar -xvf ./foo.tar ./* tar -xvf /usr/home/bob/foo.tar * tar -xvf /usr/home/bob/foo.tar ./* tar -xvf /usr/home/bob/foo.tar / usr / home / bob / *
Aber ich vermute, dass dies nicht wirklich Ihre Frage ist. Es scheint eher so, als müssten Sie die Festplattennutzung ermitteln und ein Verzeichnis suchen, das nicht voll ist. Dies kann mit dem df
Befehl erfolgen.
df -k # space on disk in kilobytes
df -m # as above, but in meg
df -g # as above, but in gig
Und Sie können mount
damit anzeigen, welche Dateisysteme auf welchen Geräten bereitgestellt werden.
So erstellen Sie eine TAR-Datei mit einem relativen Pfad:
cd /parent/of/dir/to/tar
tar cvf subdir.tar subdir
Verwenden Sie den Schalter -C (Großbuchstabe C), um einen Teer in ein anderes Verzeichnis als das aktuelle Arbeitsverzeichnis zu entpacken.
Wenn Sie eine Datei mit absoluten Pfadnamen bis zu einem anderen Punkt als root entpacken möchten, müssen Sie möglicherweise damit herumspielen chroot(1)
.