Möchten Sie eine einzelne Datei oder einen einzelnen Ordner aus einem TAR- oder TAR.GZ-Archiv extrahieren? So können Sie das unter Linux mit dem tar-Befehl tun.
Ein Tarball (TAR oder TAR.GZ) ist ein Satz von Dateien, die zu einem einzigen Archiv gebündelt sind, wodurch es einfach ist, eine große Anzahl von Dateien lokal oder über das Internet zu speichern und zu übertragen. Wann immer Sie die Dateien benötigen, können Sie das Archiv einfach extrahieren.
Stellen Sie sich ein Szenario vor, in dem Sie nur eine einzelne Datei aus einem großen Archiv benötigen. In einem solchen Fall können Sie, anstatt das gesamte Archiv zu extrahieren, nur die benötigte Datei extrahieren. Mal sehen wie.
Zeigen Sie den Inhalt eines Tarballs an
Wenn Sie nur den Inhalt von anzeigen möchten eine TAR- oder TAR.GZ-Datei, Sie müssen es nicht extrahieren. Verwenden Sie stattdessen den folgenden Befehl, um den Inhalt anzuzeigen:
tar -tvf [archiv.tar]
tar -ztvf [archiv.tar.gz]
Dadurch wird die Liste aller Dateien und Verzeichnisse im Archiv gedruckt.
Extrahieren Sie eine einzelne Datei aus dem Tarball
Um eine einzelne Datei aus TAR oder TAR.GZ zu extrahieren, verwenden Sie das folgende Befehlsformat:
tar -xvf [archiv.tar] [Pfad zur Datei]
tar -zxvf [archiv.tar.gz] [Pfad zur Datei]
Denken Sie daran, dass Sie den vollständigen Pfad zu der Datei angeben müssen, die Sie extrahieren möchten. Sie können den vollständigen Pfad der Datei oder des Verzeichnisses mithilfe von finden tar -tvf [archiv.tar] Befehl.
Um eine Datei zu extrahieren test1.txt von dem test.tar Und test.tar.gz Dateien wären die Befehle:
tar -xvf test.tar test1.txt
tar -zxvf test.tar.gz test1.txt
...Wo:
- -X wird verwendet, um Dateien aus dem Archiv zu extrahieren
- -v wird verwendet, um den Fortschritt zu sehen, während sie extrahiert werden
- -F wird verwendet, um den Tarball-Namen anzugeben
- -z wird verwendet, um TAR.GZ-Dateien zu dekomprimieren
Diese Befehle extrahieren die angegebene Datei im aktuellen Terminalverzeichnis.
Extrahieren Sie ein einzelnes Verzeichnis aus Tarball
Auf ähnliche Weise können Sie mit der folgenden Syntax auch ein einzelnes Verzeichnis aus einem Tarball extrahieren:
tar xvf [archiv.tar] [pfad-zum-verzeichnis]
tar -zxvf [archiv.tar.gz] [Pfad-zum-Verzeichnis]
Zum Beispiel, um ein Ganzes zu extrahieren test1 Unterverzeichnis aus dem test.tar archive, müssten Sie den vollständigen Pfad des Verzeichnisses angeben, d.h. Test/Test1:
tar -xvf test.tar test/test1
Dadurch wird das gesamte Unterverzeichnis extrahiert Test/Test1 im aktuellen Terminalverzeichnis.
Extrahieren Sie eine einzelne Datei oder einen einzelnen Ordner in ein anderes Verzeichnis
Du kannst auch Extrahieren Sie eine Datei oder ein Verzeichnis aus einem Tarball in ein anderes Verzeichnis. Verwenden Sie dazu die gleiche Syntax wie oben, aber fügen Sie die hinzu -C Option gefolgt vom Zielverzeichnis:
tar -xvf [archiv.tar] -C [Zielverzeichnis] [Datei-oder-Verzeichnis]
tar -zxvf [archiv.tar.gz] -C [Zielverzeichnis] [Datei-oder-Verzeichnis]
Angenommen, wir möchten ein Verzeichnis extrahieren test2 von dem test.tar Archiv zum Downloads Verzeichnis anstelle des aktuellen Arbeitsverzeichnisses. Der Befehl wäre in diesem Fall:
tar -xvf test.tar -C ~/Downloads/test/test2
Löschen Sie eine einzelne Datei oder ein einzelnes Verzeichnis aus einem Tarball
Wenn Sie eine einzelne Datei oder ein einzelnes Verzeichnis aus einer TAR- oder TAR.GZ-Datei löschen müssen, verwenden Sie die --löschen Option mit dem tar-Befehl:
tar -vf [archiv.tar] --delete [Datei-oder-Verzeichnis]
Sie können eine Datei oder ein Verzeichnis jedoch nicht direkt aus einem komprimierten Tarball (TAR.GZ) löschen. Was Sie tun müssen, ist zuerst die TAR.GZ-Datei zu dekomprimieren, die Datei oder das Verzeichnis zu löschen und sie dann erneut zu komprimieren.
Um die TAR.GZ-Datei zu dekomprimieren, verwenden Sie den folgenden Befehl:
gzip -d [archiv.tar.gz]
Beim Dekomprimieren wird die Datei in ein TAR konvertiert. Jetzt können Sie die Datei aus dem TAR-Archiv löschen mit:
tar -vf [archiv.tar] --delete [Datei-oder-Verzeichnis]
Danach komprimieren Sie die TAR-Datei mit gzip erneut:
gzip -f [archiv.tar]
Sparen Sie Zeit beim Arbeiten mit Archiven unter Linux
Das Extrahieren nur der benötigten Dateien aus einem Archiv verhindert nicht nur Unordnung, sondern spart auch Zeit, die sonst für das Durchsuchen einer großen Anzahl von Dateien aufgewendet werden müsste.
Manchmal führt das Erstellen und Extrahieren von TAR-Dateien zu doppelten Dateien in Ihrem System. Daher empfiehlt es sich, diese Duplikate regelmäßig zu identifizieren und zu entfernen, um Ihren Bereich zu entrümpeln.