Befehl zu 'gzip' einen Ordner?

Ich bin neu in der Mac-Eingabeaufforderung Zeug. Wie erstellen Sie ein Gzip eines Ordners in Mac OS X? Ein paar Leute sagten mir, wenn Sie ein Gzip eines Ordners erstellen möchten, sollten Sie es zuerst "tarnen" und dann "gzip". Ist das richtig?

Author: Spiff, 2010-07-09

6 answers

Tar ist das Archiv-Tool und gzip ist das Komprimierungs-Tool. Um ein vollständiges Verzeichnis zu komprimieren, müssen Sie es zuerst in einer einzigen Datei archivieren. Das ist, was der Job ist tar. und dann komprimieren Sie die archivierte Datei. Sie können beide Aufgaben in einem einzigen tar-Befehl mit der richtigen Option ausführen.

tar -czf folder_name.tar.gz folder_name/

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

gzip file.txt

Es wird eine komprimierte Datei mit dem Namen Datei.txt.gz -

 142
Author: taskinoor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-07-09 12:10:37

Wenn immer noch jemand finden, diese Frage bei der Suche "gzip Mac", schrieb ich einen guide, dass es nützlich sein kann, um jemand anderes. Hier geht es:

Komprimieren

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

gzip filename.ext

Wenn Sie Ihre Originaldatei nicht verlieren möchten, müssen Sie die Ausgabe von gzip -c an eine Datei weiterleiten.

gzip -c filename.ext > anotherfile.gz

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

cat filename.ext | gzip > anotherfile.gz

OS X kommt auch mit den Befehlen 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 selben Verzeichnis.

compress filename.ext

Dekomprimieren

Um eine Datei in ihrem unkomprimierten natürlichen Zustand wiederherzustellen, können Sie gzip oder einen anderen Wrapper verwenden. Der Dekomprimierungsmodus von gzip wird mit dem Flag -d aufgerufen. Dieser mode ersetzt die Datei filename.ext.gz durch filename.ext im selben Verzeichnis. Es gibt auch eine Verknüpfung namens gunzip, die dasselbe tut.

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

Wir können die dekomprimierte Datei auch an die Standardausgabe weiterleiten, 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 in die Standardausgabe zu lesen, ist zcat, es ist im Grunde dasselbe wie das Aufrufen von gzip -cd, aber Sie können mehrere Dateien aufrufen und sie auf die gleiche Weise verketten lassen wie der Befehl cat verkettet Textdateien. Der einzige Nachteil ist, dass Ihre Dateien mit dem Suffix .Z versehen werden müssen, damit es funktioniert...

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

Aber fürchte dich nicht! zcat es ist immer noch nützlich, da es von der Standardausgabe dekomprimiert werden kann. Sie können Ihre Dateien also grundsätzlich an zcat weiterleiten, um sie im Terminalfenster dekomprimieren zu lassen.

cat filename.ext.gz | zcat

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

cat filename.ext.gz | zcat > anotherfile

Die uncompress wrapper funktioniert wie gzip -cd aber es sucht nach Dateien mit dem .Z-Erweiterung, um sie im aktuellen Verzeichnis zu ersetzen, so müssen Sie nur den Dateinamen angeben, die Sie wiederherstellen möchten, aber es ist in Ordnung, wenn Sie es mit dem aufrufen .Z-Erweiterung, da das Programm es ignoriert.

compress filename.ext
uncompress filename.ext

Ich hoffe ihr findet meinen Guide nützlich:)

 14
Author: fixmycode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-03-25 02:35:06

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

tar czvf compressed.tar.gz folder
 5
Author: jcubic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-07-09 12:03:04

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

tar -czf archiv.tar.gz mydir/

Extrahieren Sie Ihr Archiv:

tar -xzf archiv.tar.gz
 4
Author: Till Freier,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-07-09 12:04:07

Um die Antwort von @taskinoor hinzuzufügen: Wenn Sie eine einzelne Dateiversion verwenden, auch bekannt als

gzip file.txt

Beachten Sie, dass die Originaldatei (Datei.txt) wird entfernt und Sie haben nur Datei.txt.gz -

Ich würde dies als Kommentar einfügen, habe aber nicht genug Karma, um das zu tun:=)

 3
Author: Miro A.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-07-09 22:42:42

Ja, das ist richtig. gzip kann nur eine Datei komprimieren. tar kodiert den Verzeichnisinhalt in eine einzelne Datei, die mit gzip, bzip2, lzma oder irgendetwas anderes.

 1
Author: Roman Cheplyaka,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-07-09 12:04:43