Zip/Unzip unter Linux

Wie packe ich Daten unter Linux, da es schon eingebaut funktionen gibt sollte man diese auch verwenden.

Einpacken

Hier ein Auszug der wichtigesten Möglichkeiten:

Die erste ist ein einfaches tar zu erstellen, was bedeutet das keine Komprimierung vorgenommen wird:

tar -cvvvf %DieDatei%.tar /Mein/Ordner1 /Mein/Ordner2

Zweite Möglichkeit ist dies gleich noch zu komprimieren (Mit BZip2 bzw. GZip):

tar -cjvvv f %DieDatei%.tbz2 /Mein/Ordner1 /Mein/Ordner2  
tar -czvvv f %DieDatei%.tgz /Mein/Ordner1 /Mein/Ordner2

Da man an dieser Stelle aber beim BZip2 keine weiteren Einstellungen vornehmen kann gibts hier noch eine dritte Methode (In diesem Fall wird bei BZip2 noch angegeben das es die höchste Komprierungsstufe benutzen soll):

tar -cf - /Mein/Ordner1 /Mein/Ordner2 | bzip2 -zs9 > %DieDatei%.tbz2  

Das “-"-Zeichen bedeutet, das die Datein in keine Datei gespeichert
werden sollen, sondern direkt auf den Stream geschrieben werden.
Von dort wird das ganze per “|"-Symbol weiter ans BZip geleitet.

Für alle möglichkeiten des Entpacken gibt es dann noch die Möglickeit bestimmte Elemente auszugrenzen, hier ein Beispiel (Das ganze läuft auf Patterns hinaus, was bedeutet, das diese angegebene Elemente mit dem kompletten Dateipfad verglichen wird, wenns zutrifft wirds nicht mit eingepackt ansonst schon):

tar -cf - -exclude Mein/Ordner1/DennWillIchNet  /Mein/Ordner1 /Mein/Ordner2 | bzip2 -zs9 > %DieDatei%.tbz2

Auspacken

Und zum entpacken braucht man natürlich auch noch ein Kommando:

tar -xvvvf %ZuEntpackendeDatei%

Zum entpacken nur eines Ordners:

tar -xvvvf %ZuEntpackendeDatei% /Mein/Ordner/aus/dem/Zip -C /Da/hin/will/ich/es

Und hier noch ein Befehl zum reinen Anzeigen was in dem Archiv ist:

tar -tf %ZuAnzeigendeDatei%

So und bei allen gibts noch eine Funktion und zwar die verbose-Ausgaben, diese hängen ab von der Anzahl der angegeben v’s. Hier die Erklärungen dazu:

v => Es werden nur die Dateinamen + Pfad angegeben
vv => Es werden noch zusätzlich die Zugriffsrechte, der Benutzer, die Größe und das Datum angezeigt
vvv => Das selbe wie bei vv, bzw unter Debian sind die beiden unterschiedlich