GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Das ultimative Tar Command Tutorial mit 10 praktischen Beispielen

Auf Unix-Plattform, tar-Befehl ist das primäre Archivierungsdienstprogramm. Das Verständnis verschiedener tar-Befehlsoptionen wird Ihnen helfen, die Manipulation von Archivdateien zu meistern.

Sehen wir uns in diesem Artikel verschiedene tar-Beispiele an einschließlich, wie man tar-Archive erstellt (mit gzip- und bzip-Komprimierung), eine einzelne Datei oder ein einzelnes Verzeichnis extrahiert, den Inhalt von tar-Archiven anzeigt, die Integrität von tar-Archiven validiert, den Unterschied zwischen tar-Archiv und Dateisystem herausfindet, die Größe des tar schätzt Archivieren vor dem Erstellen usw.,

1. Erstellen eines Archivs mit dem tar-Befehl

Erstellen eines unkomprimierten Tar-Archivs mit der Option cvf

Dies ist der grundlegende Befehl zum Erstellen eines Tar-Archivs.

$ tar cvf archive_name.tar dirname/

Im obigen Befehl:

  • c – Neues Archiv erstellen
  • v – Dateien, die verarbeitet werden, ausführlich auflisten.
  • f – es folgt der Name der Archivdatei

Erstellen eines tar gzip-Archivs mit der Option cvzf

Die obige Option tar cvf bietet keine Komprimierung. Um eine gzip-Komprimierung für das tar-Archiv zu verwenden, verwenden Sie die z-Option wie unten gezeigt.

$ tar cvzf archive_name.tar.gz dirname/
  • z – Archiv durch gzip filtern

Hinweis: .tgz ist dasselbe wie .tar.gz

Hinweis: Ich möchte die Option „cvf“ (oder tvf oder xvf) für die gesamte Archiverstellung (oder Ansicht oder Extraktion) unverändert lassen und am Ende eine zusätzliche Option hinzufügen, die leichter zu merken ist. D.h. cvf zum Erstellen von Archiven, cvfz zum Erstellen von komprimierten gzip-Archiven, cvfj zum Erstellen von komprimierten bzip2-Archiven usw. Damit diese Methode ordnungsgemäß funktioniert, geben Sie nicht – vor den Optionen ein.

Erstellen eines bzippten Tar-Archivs mit der Option cvjf

Erstellen Sie ein Bzip2-Tar-Archiv wie unten gezeigt:

$ tar cvfj archive_name.tar.bz2 dirname/
  • j – Archiv durch bzip2 filtern

gzip vs. bzip2 :bzip2 benötigt mehr Zeit zum Komprimieren und Dekomprimieren als gzip. bzip2-Archivgröße ist kleiner als gzip.

Hinweis: .tbz und .tb2 ist dasselbe wie .tar.bz2

2. Extrahieren (untar) eines Archivs mit dem tar-Befehl

Extrahieren Sie eine *.tar-Datei mit der Option xvf

Extrahieren Sie eine tar-Datei mit Option x wie unten gezeigt:

$ tar xvf archive_name.tar
  • x – Dateien aus dem Archiv extrahieren

Extrahieren Sie ein gzipptes Tar-Archiv ( *.tar.gz ) mit der Option xvzf

Verwenden Sie die Option z, um ein gzip-Tar-Archiv zu dekomprimieren.

$ tar xvfz archive_name.tar.gz

Extrahieren eines bzippten Tar-Archivs ( *.tar.bz2 ) mit der Option xvjf

Verwenden Sie die Option j, um ein bzip2-tar-Archiv zu dekomprimieren.

$ tar xvfj archive_name.tar.bz2

Hinweis: In allen obigen Befehlen ist v optional, was die verarbeitete Datei auflistet.

3. Auflisten eines Archivs mit dem tar-Befehl

Zeigen Sie den Inhalt der tar-Archivdatei an, ohne ihn mit der Option tvf zu extrahieren

Sie können den Inhalt der *.tar-Datei vor dem Extrahieren wie unten gezeigt anzeigen.

$ tar tvf archive_name.tar

Zeigen Sie den Inhalt der *.tar.gz-Datei an, ohne sie mit der Option tvzf zu extrahieren

Sie können den Inhalt der *.tar.gz-Datei vor dem Extrahieren wie unten gezeigt anzeigen.

$ tar tvfz archive_name.tar.gz

Zeigen Sie den Inhalt der *.tar.bz2-Datei an, ohne ihn mit der Option tvjf zu extrahieren

Sie können den Inhalt der *.tar.bz2-Datei vor dem Extrahieren wie unten gezeigt anzeigen.

$ tar tvfj archive_name.tar.bz2

4. Auflisten des Inhalts der Tar-Datei mit weniger Befehl

Wenn die Anzahl der Dateien in einem Archiv größer ist, können Sie die Ausgabe von tar auf less umleiten. Sie können den Less-Befehl aber auch direkt verwenden, um die Ausgabe des tar-Archivs anzuzeigen, wie in einem unserer vorherigen Artikel Open &View 10 Different File Types with Linux Less Command – The Ultimate Power of Less.

erläutert

5. Extrahieren Sie eine einzelne Datei aus der tar-, tar.gz-, tar.bz2-Datei

Um eine bestimmte Datei aus einem tar-Archiv zu extrahieren, geben Sie den Dateinamen am Ende des tar xvf-Befehls wie unten gezeigt an. Der folgende Befehl extrahiert nur eine bestimmte Datei aus einer großen Tar-Datei.

$ tar xvf archive_file.tar /path/to/file

Verwenden Sie die entsprechende Option z oder j entsprechend der Komprimierungsmethode gzip bzw. bzip2, wie unten gezeigt.

$ tar xvfz archive_file.tar.gz /path/to/file

$ tar xvfj archive_file.tar.bz2 /path/to/file

6. Extrahieren Sie ein einzelnes Verzeichnis aus der tar-, tar.gz-, tar.bz2-Datei

Um ein einzelnes Verzeichnis (zusammen mit seinem Unterverzeichnis und seinen Dateien) aus einem tar-Archiv zu extrahieren, geben Sie den Verzeichnisnamen am Ende des Befehls tar xvf wie unten gezeigt an. Das Folgende extrahiert nur ein bestimmtes Verzeichnis aus einer großen Tar-Datei.

$ tar xvf archive_file.tar /path/to/dir/

Um mehrere Verzeichnisse aus einem tar-Archiv zu extrahieren, geben Sie diese einzelnen Verzeichnisnamen am Ende des tar xvf-Befehls an, wie unten gezeigt.

$ tar xvf archive_file.tar /path/to/dir1/ /path/to/dir2/

Verwenden Sie die entsprechende Option z oder j entsprechend der Komprimierungsmethode gzip bzw. bzip2, wie unten gezeigt.

$ tar xvfz archive_file.tar.gz /path/to/dir/

$ tar xvfj archive_file.tar.bz2 /path/to/dir/

7. Extrahieren Sie eine Gruppe von Dateien aus tar-, tar.gz-, tar.bz2-Archiven unter Verwendung eines regulären Ausdrucks

Sie können einen regulären Ausdruck angeben, um Dateien zu extrahieren, die einem bestimmten Muster entsprechen. Beispielsweise extrahiert der folgende tar-Befehl alle Dateien mit der Erweiterung pl.

$ tar xvf archive_file.tar --wildcards '*.pl'

Erklärung der Optionen:

  • –Wildcards *.pl – Dateien mit der Erweiterung pl

8. Hinzufügen einer Datei oder eines Verzeichnisses zu einem bestehenden Archiv mit der Option -r

Sie können einem bestehenden tar-Archiv wie unten gezeigt zusätzliche Dateien hinzufügen. Um beispielsweise eine Datei an eine *.tar-Datei anzuhängen, gehen Sie wie folgt vor:

$ tar rvf archive_name.tar newfile

Diese neue Datei wird der bestehenden archive_name.tar hinzugefügt. Das Hinzufügen eines Verzeichnisses zum Tar ist ebenfalls ähnlich,

$ tar rvf archive_name.tar newdir/

Hinweis: Sie können einem komprimierten Archiv keine Dateien oder Verzeichnisse hinzufügen. Wenn Sie dies versuchen, erhalten Sie die Fehlermeldung „tar:Komprimierte Archive können nicht aktualisiert werden“, wie unten gezeigt.

$ tar rvfz archive_name.tgz newfile
tar: Cannot update compressed archives
Try `tar --help' or `tar --usage' for more information.

9. Überprüfen Sie die in tar verfügbaren Dateien mit der Option -W

Als Teil der Erstellung einer tar-Datei können Sie die erstellte Archivdatei mit der Option W wie unten gezeigt überprüfen.

$ tar cvfW file_name.tar dir/

Wenn Sie vorhaben, ein Verzeichnis/eine Datei aus einer Archivdatei oder aus dem Dateisystem zu entfernen, sollten Sie die Archivdatei überprüfen, bevor Sie dies wie unten gezeigt tun.

$ tar tvfW file_name.tar
Verify 1/file1
1/file1: Mod time differs
1/file1: Size differs
Verify 1/file2
Verify 1/file3

Wenn eine Ausgabezeile mit Verify beginnt und es keine differents-Zeile gibt, ist die Datei/das Verzeichnis in Ordnung. Wenn nicht, sollten Sie das Problem untersuchen.

Hinweis: für eine komprimierte Archivdatei ( *.tar.gz, *.tar.bz2 ) können Sie die Überprüfung nicht durchführen.

Der Unterschied zwischen einem Archiv und einem Dateisystem kann sogar für ein komprimiertes Archiv ermittelt werden. Es zeigt auch die gleiche Ausgabe wie oben, mit Ausnahme der Zeilen mit Verify.

Den Unterschied zwischen gzip-Archivdatei und Dateisystem finden

$ tar dfz file_name.tgz

Den Unterschied zwischen bzip2-Archivdatei und Dateisystem finden

$ tar dfj file_name.tar.bz2

10. Schätzen Sie die Größe des tar-Archivs

Der folgende Befehl schätzt die Größe der Tar-Datei (in KB), bevor Sie die Tar-Datei erstellen.

$ tar -cf - /directory/to/archive/ | wc -c
20480

Der folgende Befehl schätzt die Größe der komprimierten tar-Datei (in KB), bevor Sie die tar.gz- und tar.bz2-Dateien erstellen.

$ tar -czf - /directory/to/archive/ | wc -c
508

$ tar -cjf - /directory/to/archive/ | wc -c
428

Linux
  1. Das Type Command Tutorial mit Beispielen für Anfänger

  2. Das Shuf-Befehls-Tutorial mit Beispielen für Anfänger

  3. 5 praktische Beispiele des dd-Befehls unter Linux

  4. Bash Shell Exit Status Tutorial mit praktischen Beispielen

  5. Echo-Befehl mit praktischen Beispielen

Das mktemp-Befehls-Tutorial mit Beispielen für Anfänger

Das Grep-Befehls-Tutorial mit Beispielen für Anfänger

Das Uniq Command Tutorial mit Beispielen für Anfänger

Das fc Command Tutorial mit Beispielen für Anfänger

Die 50 praktischen Beispiele des SED-Befehls in Linux

HowTo:Das ultimative Logrotate-Befehls-Tutorial mit 10 Beispielen