Linux / Befehl tar: Archive erstellen und extrahieren
`tar bündelt mehrere Dateien und Verzeichnisse in ein einzelnes Archiv oder extrahiert sie. .tar ist selbst kein Komprimierungsformat, kann aber mit gzip, bzip2 oder xz` kombiniert werden, um komprimierte Archive zu erstellen.
tar-Befehl
Ein Archiv ist ein Bündel, das Dateinamen und Verzeichnisstruktur enthält. In GNU tar ist `-c zum Erstellen, -t zum Auflisten, -x zum Extrahieren vorgesehen, und der Archivdateiname folgt -f. -z wird mit gzip, -j mit bzip2 und -J` mit xz-Komprimierung verwendet. Das Überprüfen der Liste und des Ziels vor der Extraktion kann helfen, zu verhindern, dass Dateien in unerwarteten Pfaden entpackt werden.
Grundlegende Syntax
tar [action] [option] -f archive [file or directory...]
Die installierte Implementierung und die Optionen können je nach Distribution variieren. Überprüfen Sie die Dokumentation des aktuellen Systems mit `man tar`.
Beispiele
Erstellen eines gzip-komprimierten Archivs
Dies bündelt den Inhalt von `project/ zusammen mit seiner Verzeichnisstruktur. Wenn project.tar.gz` bereits existiert, kann es überschrieben werden.
tar -czf project.tar.gz project/
Die Liste vor dem Extrahieren überprüfen
Um den Extraktionsort und die Dateinamen festzulegen, listen Sie zuerst die Mitglieder auf.
tar -tzf project.tar.gz
In das angegebene Verzeichnis extrahieren
Erstellen Sie zuerst restore/ und extrahieren Sie dann darin. Stellen Sie sicher, dass es nicht mit bestehenden Dateien überschneidet.
mkdir -p restore tar -xzf project.tar.gz -C restore/
Überprüfen des Inhalts eines Archivs
tar kombiniert mehrere Dateien zu einem einzelnen Archiv. Das folgende Beispiel erstellt kleine Dateien, bündelt sie und listet die Mitglieder auf, ohne sie zu extrahieren.
printf 'hello\n' > note.txt tar -cf bundle.tar note.txt tar -tf bundle.tar
Beispielausgabe:
note.txt
-c dient zum Erstellen, -t zum Auflisten und -f gibt die Archivdatei an. .tar bedeutet selbst keine Kompression, und eine separate Kompression kann mit -z, -J usw. angewendet werden. Bevor man ein Archiv aus einer nicht vertrauenswürdigen Quelle entpackt, sollte überprüft werden, ob die internen Pfade absolute Pfade oder Verweise auf übergeordnete Verzeichnisse enthalten, und man sollte es in einem separaten Arbeitsverzeichnis extrahieren.
Hauptoptionen und Format
| Optionen/Format | Beschreibung |
|---|---|
-c / -t / -x |
Wählen Sie eine der Aktionen: erstellen, auflisten oder extrahieren. |
-f file |
Geben Sie die Archivdatei an, die gelesen oder geschrieben werden soll. |
-z / -j / -J |
Verwenden Sie jeweils gzip-, bzip2- oder xz-Kompression. |
-C directory |
Ändern Sie das Arbeitsverzeichnis. |
-v |
Zeigen Sie die Namen der verarbeiteten Dateien an. |
Vorsichtsmaßnahmen bei der Verwendung
Extrahieren Sie ein nicht vertrauenswürdiges Archiv nicht direkt mit Administratorrechten. Überprüfen Sie zuerst die Dateinamen der Zieldateien, symbolische Links und die Möglichkeit, vorhandene Dateien zu überschreiben, und verwenden Sie ein isoliertes leeres Verzeichnis. Wenn Sie ein bestehendes Archiv mit tar -cf neu erstellen, schreibt es ein neues Archiv statt Inhalte anzuhängen, sodass die vorhandenen Inhalte verloren gehen können.
Häufig gestellte Fragen
Was ist der Unterschied zwischen tar und gzip?
tar bündelt mehrere Dateien und Verzeichnisse in einer, während gzip einen Datenstrom komprimiert. tar -czf ist ein Befehl, der beide Funktionen kombiniert.
Offizielle Dokumentation
Das genaue Verhalten der Optionen und Unterschiede zwischen den Implementierungen kann in der offiziellen tar-Dokumentation nachgelesen werden.




