Übersicht
In diesem Leitfaden betrachten wir die Funktionsweise des tar-Befehls, der in Linux-Umgebungen am häufigsten zum Zusammenfassen und Komprimieren großer Dateien und Verzeichnisse verwendet wird. Sie lernen den grundlegenden Unterschied zwischen Archivierung und Komprimierung kennen und üben die Verwendung wesentlicher Optionen anhand praktischer Terminal-Beispiele.
Grundkonzept von tar: Der Unterschied zwischen bloßer Archivierung (Archive) und Komprimierung (Compression)
Um die Praxisübungen zum tar-Archiv durchzuführen, erstellen wir ein Übungsverzeichnis und Beispiel-Textdateien.

Der Befehl tar wird verwendet, um mehrere Dateien und Verzeichnisse in einer einzigen Archivdatei zusammenzufassen oder daraus zu extrahieren.
Durch die Kombination der Optionen -c, -v, -f und -C fassen wir das Verzeichnis sample zusammen und erstellen die Datei archive.tar.
⚙️ [Wichtige Optionen]
-c : Erstellt eine neue Archivdatei.-x : Entpackt oder extrahiert den Inhalt einer Archivdatei.-t : Listet die im Archiv enthaltenen Dateien auf.-v : Gibt den Fortschritt der Archiverstellung oder des Entpackens detailliert auf dem Bildschirm aus.-f : Gibt den Dateinamen der zu bearbeitenden Archivdatei an.-z : Komprimiert oder entpackt mit dem gzip-Algorithmus (.tar.gz).-j : Komprimiert oder entpackt mit dem bzip2-Algorithmus (.tar.bz2).-J : Komprimiert oder entpackt mit dem xz-Algorithmus (.tar.xz).-C : Gibt den Zielverzeichnispfad für den Archivierungsvorgang an.

Mit dem Befehl ls -lh überprüfen wir die Details der erstellten Datei archive.tar sowie des Originalverzeichnisses.
Da es sich lediglich um ein zusammengefasstes Archiv handelt, wurde noch keine Komprimierung zur Reduzierung der Dateigröße angewendet.

Praxis-Komprimierungsoptionen: Kombinierte Nutzung von gzip(-z) und bzip2(-j)
Durch Hinzufügen der gzip-Komprimierungsoption -z erstellen wir eine .tar.gz-Datei, die das Verzeichnis sample gleichzeitig archiviert und komprimiert.
Dies ist die in der Praxis am weitesten verbreitete Methode, da sie eine schnelle Komprimierungsgeschwindigkeit und ein solides Komprimierungsverhältnis bietet.

Durch Angabe der bzip2-Komprimierungsoption -j erstellen wir ein .tar.bz2-Archiv, das das Verzeichnis sample zusammenfasst und komprimiert.
Im Vergleich zu gzip nimmt die Komprimierung mehr Zeit in Anspruch, bietet jedoch in der Regel eine höhere Komprimierungsrate.

Führen Sie den Befehl ls -lh ~/tar-demo/*.tar* aus, um die Liste und die Dateigrößen der erstellten Archivdateien zu überprüfen.
Im Vergleich zum unkomprimierten Archiv (archive.tar) können Sie den Größenunterschied bei den Dateien sehen, auf die Komprimierungsalgorithmen angewendet wurden.

Vorschau des Archivinhalts(-t) und Sicherheitsüberprüfung
Um die Dateistruktur und Verzeichnispfade innerhalb des Archivs vor dem Entpacken zu überprüfen, führen Sie den Befehl tar -tvf ~/tar-demo/archive.tar.gz aus.
Wenn Sie die Option -t mit der detaillierten Ausgabeoption -v kombinieren, können Sie Dateiberechtigungen, Eigentümer, Größen und die Verzeichnisstruktur sicher überprüfen, ohne das Archiv tatsächlich entpacken zu müssen.

Sicheres Entpacken in einen gewünschten Pfad(-x und -C)
Um ein dediziertes Verzeichnis für das sichere Entpacken zu erstellen, führen Sie den Befehl mkdir -p ~/tar-demo/extracted aus.

Mit den Optionen -x und -C entpacken Sie die Archivdatei in den angegebenen Zielpfad, ohne das aktuelle Arbeitsverzeichnis zu überladen.
Die Option -z entpackt die gzip-Komprimierung, und mit der Option -v wird die Liste der extrahierten Dateien in Echtzeit angezeigt.

Führen Sie den Befehl ls -la ~/tar-demo/extracted/sample aus, um zu überprüfen, ob die Dateien ordnungsgemäß im angegebenen Pfad entpackt wurden.
Die Ausgabe bestätigt, dass die Eigentumsverhältnisse und Berechtigungen der Dateien genau im Zustand der Archiverstellung intakt wiederhergestellt wurden.

In dieser Anleitung haben wir die grundlegende Funktionsweise des Linux tar-Befehls sowie praxisnahe Beispiele zum Komprimieren und Entpacken zusammengefasst.
Nutzen Sie die passenden Kernoptionen, um Ihre Dateiverwaltungs- und Backup-Aufgaben in Linux noch effizienter zu gestalten.