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
-czfnach tarsind: czeigt an, dass Sie ein tar - Archiv erstellt werden sollen, zgilt gzipauf dem Zwischen tar - Archiv, und fist für die späteren endgültigen Dateinamen folder_name.tar.gz.
gzip file.txtErsetzt die Originaldatei.
gzip -k file.txtzum "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.extund ersetzt sie dann filename.ext.gzim selben Verzeichnis.
gzip filename.ext
Wenn Sie Ihre Originaldatei nicht verlieren möchten, müssen Sie die Ausgabe von gzip -cin 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 compressund 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.extmit filename.ext.Zim 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 -dFlag aufgerufen . In diesem Modus wird die Datei ersetzen filename.ext.gzmit filename.extim 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 -cdSie können jedoch mehrere Dateien aufrufen und sie auf dieselbe Weise verketten lassen, wie der catBefehl Textdateien verkettet . Der einzige Nachteil ist, dass Ihre Dateien mit dem .ZSuffix versehen werden müssen, damit es funktioniert ...
zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z
Aber keine Angst! zcates 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 uncompressWrapper funktioniert wie gzip -cdfolgt, 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.txtwird das Original behalten und erstellen file.txt.gz. Sehen gzip --help.
Ja das ist korrekt. gzipkann nur eine Datei komprimieren. tarcodiert die Verzeichnisinhalte in eine einzige Datei, die weiter unter Verwendung komprimiert werden kann gzip, bzip2, lzmaoder irgendetwas anderes.
objective-caber Sie fragen nach der Befehlszeile.