Antworten:
Tar ist das Archivierungswerkzeug und gzip ist das Komprimierungswerkzeug. Um ein vollständiges Verzeichnis zu komprimieren, müssen Sie es zunächst in einer einzelnen Datei archivieren. Das ist der Job von Teer. 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 Ordnername.tar.gz Ordnername /
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 file.txt.gz erstellt
-czf
nach tar
sind: c
zeigt an, dass Sie ein tar - Archiv erstellt werden sollen, z
gilt gzip
auf dem Zwischen tar - Archiv, und f
ist für die späteren endgültigen Dateinamen folder_name.tar.gz
.
gzip file.txt
Ersetzt die Originaldatei.
gzip -k file.txt
zum "Behalten" (nicht Löschen) der Eingabedatei.
Wenn jemand diese Frage bei der Suche nach "gzip in Mac" immer noch findet, habe ich einen Leitfaden geschrieben, der möglicherweise für andere nützlich ist. Hier kommt's:
Der grundlegendste Befehl komprimiert die Datei filename.ext
und ersetzt sie dann 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
in eine Datei umleiten.
gzip -c filename.ext > anotherfile.gz
Wir können auch von der Standardeingabe komprimieren, um die Ausgabe anderer Befehle zu komprimieren.
cat filename.ext | gzip > anotherfile.gz
OS X enthält auch die Befehle compress
und uncompress
. Sie sorgen für einen "intelligenteren" gzip, da die Datei nicht komprimiert wird, wenn sie nach dem Komprimierungsprozess wachsen würde. Der folgende Befehl ersetzt filename.ext
mit filename.ext.Z
im selben Verzeichnis.
compress filename.ext
Um eine Datei in ihren unkomprimierten natürlichen Zustand zurückzusetzen, können Sie gzip oder einen anderen Wrapper verwenden. Der Dekomprimierungsmodus von gzip wird mit dem -d
Flag aufgerufen . In diesem Modus wird die Datei ersetzen filename.ext.gz
mit filename.ext
im gleichen Verzeichnis. Es gibt auch eine Verknüpfung gunzip
, die das Gleiche bewirkt .
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
Ein weiterer schneller Weg, den Inhalt eines gzip in die Standardausgabe zu lesen, ist zcat
, dass er im Prinzip mit dem Aufrufen identisch ist, gzip -cd
Sie können jedoch mehrere Dateien aufrufen und sie auf dieselbe Weise verketten lassen, wie der cat
Befehl Textdateien verkettet . Der einzige Nachteil ist, dass Ihre Dateien mit dem .Z
Suffix versehen werden müssen, damit es funktioniert ...
zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z
Aber keine Angst! zcat
es ist immer noch nützlich, weil es von der Standardausgabe dekomprimieren kann. Sie können Ihre Dateien also grundsätzlich an zcat leiten, 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 und die Ausgabe von zcat sogar in einer Datei speichern möchten.
cat filename.ext.gz | zcat > anotherfile
Der uncompress
Wrapper funktioniert wie gzip -cd
folgt, sucht jedoch nach Dateien mit der Erweiterung .Z, um sie im aktuellen Verzeichnis zu ersetzen. Sie müssen also nur den Dateinamen angeben, den Sie wiederherstellen möchten. Es ist jedoch in Ordnung, wenn Sie ihn mit der Erweiterung .Z wie aufrufen das Programm wird es ignorieren.
compress filename.ext
uncompress filename.ext
Ich hoffe, Sie finden meinen Leitfaden nützlich :)
Ja, Sie müssen zuerst das Verzeichnis tarieren. Der Befehl tar kann beides:
tar -czf archiv.tar.gz mydir/
extrahiere dein Archiv:
tar -xzf archiv.tar.gz
Hinzufügen zur Antwort von @taskinoor: Wenn Sie eine einzelne Dateiversion verwenden, auch bekannt als
gzip file.txt
Beachten Sie, dass die ursprüngliche Datei (file.txt) entfernt wird und Sie nur file.txt.gz haben
Ich würde dies als Kommentar setzen, aber ich habe nicht genug Karma, um das zu tun: =)
gzip --keep file.txt
wird das Original behalten und erstellen file.txt.gz
. Sehen gzip --help
.
Ja das ist korrekt. gzip
kann nur eine Datei komprimieren. tar
codiert die Verzeichnisinhalte in eine einzige Datei, die weiter unter Verwendung komprimiert werden kann gzip
, bzip2
, lzma
oder irgendetwas anderes.
objective-c
aber Sie fragen nach der Befehlszeile.