Der tar
Mit dem Befehl können Sie tar-Archive erstellen und extrahieren. Es unterstützt eine große Auswahl an Komprimierungsprogrammen wie gzip, bzip2, lzip, lzma, lzop, xz und compress.
Xz ist ein beliebter Algorithmus zum Komprimieren von Dateien basierend auf dem LZMA-Algorithmus. Per Konvention der Name eines mit xz komprimierten tar-Archivs endet entweder mit .tar.xz oder .txz .
Dieser Artikel erklärt, wie man tar
verwendet Befehl zum Extrahieren (oder Entpacken) von .tar.xz oder .txz Archiv.
Extracting tar.xz File #
Der Teer Dienstprogramm ist standardmäßig auf allen Linux-Distributionen und macOS vorinstalliert.
Um eine tar.xz-Datei zu extrahieren, rufen Sie tar
auf Befehl mit dem --extract
(-x
) Option und geben Sie den Namen der Archivdatei nach dem -f
an Möglichkeit:
tar -xf archive.tar.xz
tar
erkennt automatisch den Komprimierungstyp und extrahiert das Archiv. Derselbe Befehl kann verwendet werden, um tar-Archive zu extrahieren, die mit anderen Algorithmen komprimiert wurden, wie z. B. .tar.gz oder .tar.bz2 .
Wenn die Befehlszeile nicht Ihr Ding ist, können Sie den GUI-Dateimanager verwenden. Um eine tar.xz-Datei zu extrahieren (entpacken), klicken Sie einfach mit der rechten Maustaste auf die Datei, die Sie extrahieren möchten, und wählen Sie „Extrahieren“. Windows-Benutzer benötigen ein Tool namens 7zip, um tar.xz-Dateien zu extrahieren.
Für eine ausführlichere Ausgabe verwenden Sie -v
Möglichkeit. Diese Option teilt tar
mit um die Namen der Dateien anzuzeigen, die auf dem Terminal extrahiert werden.
tar -xvf archive.tar.xz
Standardmäßig tar
extrahiert den Archivinhalt in das aktuelle Arbeitsverzeichnis. Um Archivdateien in ein bestimmtes Verzeichnis zu extrahieren, verwenden Sie --directory
(-C
).
Das folgende Beispiel zeigt, wie der Archivinhalt in /home/linuxize/files
extrahiert wird Verzeichnis:
tar -xf archive.tar.xz -C /home/linuxize/files
Extrahieren bestimmter Dateien aus einer tar.xz-Datei #
Um eine oder mehrere bestimmte Dateien aus einer tar.xz-Datei zu extrahieren, hängen Sie eine durch Leerzeichen getrennte Liste der zu extrahierenden Dateinamen nach dem Archivnamen an:
tar -xf archive.tar.xz file1 file2
Beim Extrahieren von Dateien müssen Sie ihre genauen Namen einschließlich des Pfads angeben, wie sie beim tar
gedruckt werden wird mit --list
aufgerufen (-t
)-Option.
Das Extrahieren eines oder mehrerer Verzeichnisse aus einem Archiv ist dasselbe wie das Extrahieren mehrerer Dateien:
tar -xf archive.tar.xz dir1 dir2
Wenn Sie versuchen, eine Datei zu extrahieren, die nicht im Archiv vorhanden ist, wird eine Fehlermeldung ähnlich der folgenden angezeigt:
tar -xf archive.tar.xz README
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors
Die --wildcards
Mit der Option können Sie Dateien basierend auf einem Platzhaltermuster aus einer tar.xz-Datei extrahieren. Das Muster muss in Anführungszeichen gesetzt werden, um zu verhindern, dass die Shell es interpretiert.
Zum Beispiel, um nur die Dateien zu extrahieren, deren Namen auf .png
enden , würden Sie verwenden:
tar -xf archive.tar.xz --wildcards '*.png'
Extrahieren der tar.xz-Datei aus stdin #
Wenn Sie eine komprimierte tar.xz-Datei extrahieren, indem Sie das Archiv von der Standardeingabe lesen (normalerweise durch Rohrleitungen), müssen Sie die Dekomprimierungsoption angeben. Das -J
Option teilt tar
mit dass die Datei mit xz komprimiert ist.
Im folgenden Beispiel laden wir den Linux-Kernel mit wget
herunter Befehl und leiten Sie seine Ausgabe an tar
weiter Befehl:
wget -c https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.3.tar.xz -O - | sudo tar -xj
Wenn Sie keine Dekomprimierungsoption angeben, tar
zeigt Ihnen, welche Option Sie verwenden sollten:
tar: Archive is compressed. Use -J option
tar: Error is not recoverable: exiting now
Auflistung des Inhalts der tar.xz-Datei #
Um den Inhalt einer tar.xz-Datei aufzulisten, verwenden Sie --list
(-t
) Option:
tar -tf archive.tar.xz
Die Ausgabe sieht in etwa so aus:
file1
file2
file3
Wenn Sie --verbose
hinzufügen (-v
)-Option, tar
druckt weitere Informationen, wie Eigentümer, Dateigröße, Zeitstempel usw.:
tar -tvf archive.tar.xz
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file1
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file2
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file3
Schlussfolgerung #
tar.xz Datei ist ein mit xz komprimiertes Tar-Archiv. Um eine tar.xz-Datei zu extrahieren, verwenden Sie tar -xf
Befehl, gefolgt vom Archivnamen.
Wenn Sie Fragen haben, hinterlassen Sie bitte unten einen Kommentar.