Der Befehl tar ist die Abkürzung für Bandarchiv unter Linux. Dieser Befehl wird zum Erstellen eines Archivs und zum Extrahieren der Archivdateien verwendet. In Linux , es ist einer der wesentlichen Befehle, die die Archivierungsfunktionalität erleichtern. Mit diesem Befehl können wir unkomprimierte und komprimierte Archivdateien erstellen und diese auch ändern und verwalten.
Tar ist ein Dienstprogramm einer Computersoftware, mit dem im Computerbereich mehrere Dateien in einer einzigen Archivdatei zusammengefasst werden können. Zu Sicherungs- und Verteilungszwecken wird es oft als Tarball bezeichnet. Der Name leitet sich von „Tape Archive“ ab, da es eigentlich für die Spezifizierung von Daten auf sequentiellen E/A-Geräten ohne deren Dateisysteme entwickelt wurde. Die von tar erstellten Archivdatengruppen umfassen viele Dateisystemparameter wie Verzeichnisorganisation, Dateizugriffsberechtigung, Eigentümer, Zeitstempel und Name. zugunsten von pax verzichtete POSIX auf tar, tar ist jedoch weit verbreitet.
Zunächst wurde es im Januar 1979 in Version 7 unter Unix angekündigt und ersetzte das tp-Programm. Um die Daten zu speichern, wurde die Dateistruktur in POSIX.1-1988 und später POSIX.1-2001 standardisiert und wurde zu einem Muster, das von fast allen modernen Dateiarchivierungssystemen unterstützt wird. Unix-ähnliche Betriebssysteme enthalten im Allgemeinen Tools zur Unterstützung von TAR-Dateien und Dienstprogramme für deren Komprimierung, wie bzip2 und gzip.
Seit dem Microsoft-Update vom 10. April 2018 ist BSD-tar in Microsoft Windows enthalten, und es gibt zwei oder mehr Tools von Drittanbietern, um diese Muster unter Windows zu lesen und zu schreiben.
Dateiformate von tar
Es stehen viele TAR-Dateiformate zur Verfügung, darunter aktuelle und historische. In POSIX sind zwei TAR-Formate geschrieben: pax und ustar.
Header
Der Datei-Header-Datensatz enthält die Metadaten einer Datei. Im Header-Datensatz werden die Informationen in den ASCII-Standards codiert, um Flexibilität über verschiedene Architekturen hinweg durch unterschiedliche Byte-Reihenfolgen zu gewährleisten. Wenn also jede Datei eine ASCII-Textdatei in einem Archiv ist und ASCII-Namen enthält, ist das Archiv eine ASCII-Textdatei (mit mehreren NUL-Zeichen).
In der folgenden Tabelle werden mehrere Felder erwähnt, die durch das tatsächliche Unix-TAR-Format definiert sind. Die Linkdatei-/Indikatortyptabelle enthält einige moderne Erweiterungen. Ein Feld wird mit verschiedenen NUL-Bytes gefüllt, wenn es nicht verwendet wird.
Tar-Header vor POSIX.1-1988:
Feld | Feldgröße | Feldversatz |
---|---|---|
Dateiname | 100 | 0 |
Dateimodus | 8 | 100 |
Numerische Benutzer-ID des Eigentümers | 8 | 108 |
Numerische Benutzer-ID der Gruppe | 8 | 116 |
Byte-Dateigröße | 12 | 124 |
Zeitpunkt der letzten Änderung in Form einer numerischen Unix-Zeit | 12 | 136 |
Prüfsumme für den Header-Datensatz | 8 | 148 |
Link-Anzeige | 1 | 156 |
Name der verknüpften Datei | 100 | 157 |
Ustart-Format
Im Ustar-Format schreibt und liest fast jedes moderne Tar-Programm Archive, angekündigt durch den POSIX-Standard IEEE P1003.1 aus dem Jahr 1988. Er führte zusätzliche Header-Felder ein. Frühere Tar-Programme würden die zusätzlichen Informationen vermeiden, aber neue Programme prüfen das Vorhandensein der Zeichenfolge „Ustar“, um zu entscheiden, ob das neuere Format verwendet wird.
Feld | Feldgröße | Feldversatz |
---|---|---|
Viele Felder, wie im vorherigen Format | 156 | 0 |
Typflagge | 1 | 156 |
Ähnliches Feld wie im vorherigen Format | 100 | 157 |
'ustar' Ustar-Indikator, dann NUL | 6 | 257 |
'00' Ustar-Version | 2 | 263 |
Benutzername des Eigentümers | 32 | 265 |
Gruppenname des Eigentümers | 32 | 297 |
Hauptnummer des Geräts | 8 | 329 |
Unternummer des Geräts | 8 | 337 |
Präfix für den Dateinamen | 155 | 3. 4. 5 |
POSIX.1-2001/Pax
Sun schlug 1997 eine Technik zum Hinzufügen von Erweiterungen zu einem TAR-Format vor. Später wurde sie für den POSIX.1-2001-Standard genehmigt. Das Format wird Pax-Format oder erweitertes TAR-Format genannt. Einige Tags werden durch den POSIX-Standard spezifiziert, darunter mtime, atime, linkpath, gname, uname, size, gid, uid und eine Zeichensatzdefinition für Gruppen-/Benutzernamen und Pfadnamen.
Wichtige Implementierungen von tar
Die wichtigsten Implementierungen sind in der Ursprungsreihenfolge aufgeführt:
Darüber hinaus können die meisten cpio- und pax-Implementierungen zwei oder mehr TAR-Dateitypen erstellen und lesen.
Syntax des tar-Befehls:
tar [options] [archive-file] [directory or file to be archived]
Optionen im tar-Befehl
Nachfolgend sind verschiedene Optionen im Befehl tar aufgeführt:
Einführung in die Archivdatei
Die Archivdatei kann als eine Datei definiert werden, die mehrere Dateien mit Metadaten enthält. Diese Dateien werden zum Sammeln mehrerer Datendateien in einer einzelnen Datei verwendet, um die Speicherung und Portabilität zu erleichtern. Es kann auch zum Komprimieren von Dateien verwendet werden, um weniger Speicherplatz zu verbrauchen.
Beispiele für den Befehl tar
Einige der wichtigen Beispiele, die im tar-Befehl häufig verwendet werden, sind wie folgt:
1. Erstellen eines unkomprimierten TAR-Archivs mit der Option -cvf
Diese Option erstellt eine TAR-Datei namens Datei.tar . Es ist das Archiv jeder darin enthaltenen TXT-Datei mydir Verzeichnis.
Der Befehl lautet wie folgt:
$ tar cvf file.tar *.txt
2. Extrahieren von Dateien aus dem Archiv mit der Option -xvf
Mit dieser Option können Dateien über Archive extrahiert werden.
Der Befehl lautet wie folgt:
$ tar xvf file.tar
3. GZIP-Komprimierung über TAR-Archiv mit der Option -z
Diese Option erstellt eine TAR-Datei namens file.tar.gz. Es ist das Archiv jeder TXT-Datei.
Vergleichen Sie Zeichenfolgen Java
Der Befehl lautet wie folgt:
$ tar cvzf file.tar.gz *.txt
4. Extrahieren des gzip-tar-Archivs mit der Option -xvzf
Diese Option kann die Dateien über file.tar.gz tar-archivierte Dateien extrahieren.
Der Befehl lautet wie folgt:
$ tar xvzf file.tar.gz
5. Komprimierte TAR-Dateien mit der Option -j erstellen
Diese Option hilft uns beim Erstellen und Komprimieren von Archivdateien. Sowohl das Dekomprimieren als auch das Komprimieren dauert im Vergleich zu gzip länger.
Der Befehl lautet wie folgt:
$ tar cvfj file.tar.tbz hello1.txt
6. Entpacken Sie ein einzelnes angegebenes Verzeichnis oder eine einzelne Datei unter Linux
Diese Option wird verwendet, um jede Datei in unserem aktuellen Verzeichnis oder innerhalb des mit der Option -C angegebenen Verzeichnisses zu entpacken.
Der Befehl lautet wie folgt:
$ tar -xvf file.tar -C file's path in the directory
Oder,
$ tar -xvf file.tar
7. Entpacken Sie mehrere .tar.tbz-, .tar.gz- und .tar-Dateien unter Linux
Diese Option wird uns dabei helfen verbreiten oder extrahieren Sie mehr als eine Datei aus tar.bz2, tar.gz und einer TAR-Archivdatei.
Das Beispiel dieser Option lautet wie folgt:
$ tar -jxvf file.tar.tbz 'hello1.txt'
Oder,
$ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt'
Oder,
$ tar -xvf file.tar 'hello1.txt' 'hello2.txt'
8. Überprüfen Sie die Größe der vorhandenen tar.tbz-, tar.gz- und tar-Dateien
Der Befehl hilft uns, die oben erwähnte Größe der Archivdatei in Kilobyte (KB) anzuzeigen.
Der Befehl lautet wie folgt:
$ tar -czf - file2.tar.tbz | wc -c
Oder,
$ tar -czf - file1.tar.gz | wc -c
Oder,
$ tar -czf - file.tar | wc -c
9. Aktualisieren Sie die vorhandene TAR-Datei
Unter Linux lautet der Befehl zum Aktualisieren einer vorhandenen TAR-Datei wie folgt:
$ tar rvf file.tar *.txt
10. Inhaltsliste und Beschreibung der TAR-Datei mit der Option tf
Diese Option hilft uns, die gesamte Liste der Archivdateien aufzulisten. Außerdem können wir bestimmte Inhalte in jeder TAR-Datei auflisten.
Der Befehl lautet wie folgt:
$ tar tf file.tar
11. Zeigen Sie das Archiv mit der Option -tvf an
Unter Linux können wir die Option -tvf verwenden, um das Archiv anzuzeigen.
Der Befehl lautet wie folgt:
$ tar -tvf file.tar
12. Übergeben Sie den Dateinamen als Argument, um eine TAR-Datei zu finden
Mit dieser Option können Sie die archivierten Dateien mit ihren Informationen anzeigen.
Der Befehl lautet wie folgt:
$ tar tvf file.tar filename
13. Verwenden von Pipe zum Auslösen des „grep-Befehls“, um zu suchen, wonach wir suchen
Diese Option hilft uns, nur das erwähnte Bild oder den erwähnten Text aufzulisten Griff durch archivierte Dateien.
Der Befehl lautet wie folgt:
Größe der Schriftart Latex
$ tar tvf file.tar | grep 'filename.file'
Oder,
$ tar tvf file.tar | grep 'text to search'
Einführung in Wildcards
Alternativ werden Wildcards unter Linux auch als Wildcard-Zeichen oder Wild-Character bezeichnet. Es ist ein Symbol, das zum Darstellen oder Ersetzen mehrerer Zeichen verwendet wird.
Typischerweise sind Platzhalter entweder ein Fragezeichen (?), das ein einzelnes Zeichen darstellt, oder ein Sternchen (*), das mehrere Zeichen darstellt.
Beispiel-
14. Suchen Sie ein Bild im .webp-Format
Es hilft uns dabei, nur Dateien mit der Erweiterung .webp aus dem file.tar-Archiv zu extrahieren. Die Option -wildcards weist tar an, Platzhalter im zu extrahierenden Dateinamen zu interpretieren.
Der Name der Datei (*.webp) wird in einfache Anführungszeichen gesetzt, um den Platzhalter (*) vor einer fehlerhaften Erweiterung durch eine Shell zu schützen.
Der Befehl lautet wie folgt:
$ tar tvf file.tar --wildcards '*.webp'
Hinweis: Im obigen Befehl wird das Symbol „*“ an der Position des Dateinamens verwendet, um jede in diesem bestimmten Verzeichnis verfügbare Datei zu übernehmen.
15. Dateien aus dem TAR-Archiv löschen
Wir können die Option --delete zum Entfernen von Dateien und einem TAR-Archiv verwenden.
Der Befehl lautet wie folgt:
$ tar --delete -f archive.tar file_name
Beispiel:
tar -delete -f file.tar hello1.txt
Ausgabe:
hallo1.txt Datei wurde aus dem file.tar-Archiv entfernt: