2010-07-09 11:58:42 +0000 2010-07-09 11:58:42 +0000
67
67

Befehl zum 'gzip' eines Ordners?

Ich bin neu in Sachen Mac-Eingabeaufforderung. Wie erstellt man ein gzip eines Ordners in Mac OS X? Mir wurde von ein paar Leuten gesagt, dass man, wenn man ein gzip eines Ordners erstellen möchte, diesen zuerst “tar” und dann “gzip” entpacken sollte. Ist das richtig?

Antworten (6)

132
132
132
2010-07-09 12:10:37 +0000

Tar ist das Archivierungswerkzeug und gzip ist das Komprimierungswerkzeug. Um ein ganzes Verzeichnis zu komprimieren, müssen Sie es zunächst in eine einzelne Datei archivieren. Das ist die Aufgabe von tar. und dann komprimieren Sie die archivierte Datei. Sie können beide Aufgaben in einem einzigen tar-Befehl mit der richtigen Option erledigen.

tar -czf folder\_name.tar.gz folder\_name/

Wenn Sie kein tar-Archiv erstellen wollen (vielleicht wollen Sie nur eine einzelne Datei komprimieren), dann können Sie den Befehl gzip direkt verwenden.

gzip file.txt

Es wird eine komprimierte Datei namens file.txt.gz erstellt

14
14
14
2015-03-25 02:35:06 +0000

Falls jemand bei der Suche nach “gzip in Mac” noch diese Frage findet, habe ich eine Anleitung geschrieben, die vielleicht für jemand anderen nützlich ist. Hier geht es los:

Komprimieren

Der einfachste Befehl komprimiert die Datei filename.ext und ersetzt sie dann durch filename.ext.gz im gleichen Verzeichnis.

gzip filename.ext

Wenn Sie Ihre Originaldatei nicht verlieren wollen, müssen Sie die Ausgabe von gzip -c in eine Datei leiten.

gzip -c filename.ext > anotherfile.gz

Wir können auch von der Standardeingabe komprimieren, so dass wir die Ausgabe anderer Befehle komprimieren können.

cat filename.ext | gzip > anotherfile.gz

OS X verfügt auch über die Befehle compress und uncompress. Sie sorgen für ein “intelligenteres” gzip, da es die Datei nicht komprimiert, wenn sie nach dem Komprimierungsprozess wachsen würde. Der folgende Befehl ersetzt filename.ext durch filename.ext.Z im gleichen Verzeichnis.

compress filename.ext

Dekomprimieren

Um eine Datei wieder in ihren unkomprimierten Naturzustand zu versetzen, können Sie gzip oder einen anderen der Wrapper verwenden. Der Dekomprimierungsmodus von gzip wird mit dem Flag -d aufgerufen. In diesem Modus wird die Datei filename.ext.gz durch filename.ext im gleichen Verzeichnis ersetzt. Es gibt auch eine Verknüpfung namens gunzip, die das Gleiche bewirkt.

gzip -d filename.ext.gz
gunzip filename.ext.gz

Wir können die dekomprimierte Datei auch über die Pipeline an die Standardausgabe übergeben, um sie in einer anderen Datei zu speichern.

gzip -cd filename.ext.gz > anotherfile
gunzip -c filename.ext.gz > anotherfile

Eine weitere schnelle Möglichkeit, den Inhalt eines gzip auf die Standardausgabe zu lesen, ist zcat, es ist im Grunde dasselbe wie der Aufruf von gzip -cd, aber Sie können mehrere Dateien aufrufen und sie auf die gleiche Weise verketten lassen, wie der Befehl cat Textdateien verkettet. Der einzige Nachteil ist, dass Ihre Dateien mit dem Suffix .Z versehen sein müssen, damit es funktioniert…

zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z

Aber keine Angst! zcat ist immer noch nützlich, weil es von der Standardausgabe dekomprimieren kann. Sie können also im Grunde Ihre Dateien an zcat weiterleiten, um sie im Terminalfenster zu dekomprimieren.

cat filename.ext.gz | zcat

Dies ist sehr nützlich, wenn Sie den Inhalt einer Datei wirklich schnell überprüfen müssen, und Sie können die Ausgabe von zcat sogar in eine Datei speichern, genauso einfach.

cat filename.ext.gz | zcat > anotherfile

Der Wrapper uncompress funktioniert wie gzip -cd, aber er sucht nach Dateien mit der Endung .Z, um sie im aktuellen Verzeichnis zu ersetzen, so dass Sie nur den Dateinamen angeben müssen, den Sie wiederherstellen wollen, aber es ist in Ordnung, wenn Sie ihn mit der Endung .Z aufrufen, da das Programm sie ignoriert.

compress filename.ext
uncompress filename.ext

Ich hoffe, Sie finden meine Anleitung nützlich :)

4
4
4
2010-07-09 12:03:04 +0000

MacOS X ist Unix, also sollte das funktionieren (unter GNU/Linux funktioniert das)

tar czvf compressed.tar.gz folder
3
3
3
2010-07-09 22:42:42 +0000

Um die Antwort von @taskinoor zu ergänzen: wenn Sie die Einzeldateiversion verwenden, aka

gzip file.txt

, beachten Sie, dass die Originaldatei (file.txt) entfernt wird und Sie nur file.txt.gz

haben.)

3
3
3
2010-07-09 12:04:07 +0000

Ja, Sie müssen das Verzeichnis zuerst tarieren. Der tar-Befehl kann beides:

tar -czf archiv.tar.gz mydir/

Ihr Archiv entpacken:

tar -xzf archiv.tar.gz
1
1
1
2010-07-09 12:04:43 +0000

Ja, dies ist korrekt. gzip kann nur eine Datei komprimieren. tar kodiert den Inhalt des Verzeichnisses in eine einzelne Datei, die mit gzip, bzip2, lzma oder etwas anderem weiter komprimiert werden kann.