Ich bin neu in der Mac-Eingabeaufforderung. Wie erstelle ich einen gzip eines Ordners in Mac OS X? Ein paar Leute sagten mir, wenn Sie einen gzip eines Ordners erstellen möchten, sollten Sie ihn zuerst "tarieren" und dann "gzipen". Ist das richtig?
macos
mac
command-line
compression
gzip
thndrkiss
quelle
quelle
objective-c
aber Sie fragen nach der Befehlszeile.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.
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.
Es wird eine komprimierte Datei mit dem Namen file.txt.gz erstellt
quelle
-czf
nachtar
sind:c
zeigt an, dass Sie ein tar - Archiv erstellt werden sollen,z
giltgzip
auf dem Zwischen tar - Archiv, undf
ist für die späteren endgültigen Dateinamenfolder_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:
Komprimieren
Der grundlegendste Befehl komprimiert die Datei
filename.ext
und ersetzt sie dannfilename.ext.gz
im selben Verzeichnis.Wenn Sie Ihre Originaldatei nicht verlieren möchten, müssen Sie die Ausgabe von
gzip -c
in eine Datei umleiten.Wir können auch von der Standardeingabe komprimieren, um die Ausgabe anderer Befehle zu komprimieren.
OS X enthält auch die Befehle
compress
unduncompress
. Sie sorgen für einen "intelligenteren" gzip, da die Datei nicht komprimiert wird, wenn sie nach dem Komprimierungsprozess wachsen würde. Der folgende Befehl ersetztfilename.ext
mitfilename.ext.Z
im selben Verzeichnis.Dekomprimieren
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 ersetzenfilename.ext.gz
mitfilename.ext
im gleichen Verzeichnis. Es gibt auch eine Verknüpfunggunzip
, die das Gleiche bewirkt .Wir können die dekomprimierte Datei auch an die Standardausgabe weiterleiten, um sie in einer anderen Datei zu speichern.
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 dercat
Befehl Textdateien verkettet . Der einzige Nachteil ist, dass Ihre Dateien mit dem.Z
Suffix versehen werden müssen, damit es funktioniert ...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.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.
Der
uncompress
Wrapper funktioniert wiegzip -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.Ich hoffe, Sie finden meinen Leitfaden nützlich :)
quelle
MacOS X ist Unix, daher sollte dies funktionieren (dies funktioniert unter GNU / Linux)
quelle
Ja, Sie müssen zuerst das Verzeichnis tarieren. Der Befehl tar kann beides:
extrahiere dein Archiv:
quelle
Hinzufügen zur Antwort von @taskinoor: Wenn Sie eine einzelne Dateiversion verwenden, auch bekannt als
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: =)
quelle
gzip --keep file.txt
wird das Original behalten und erstellenfile.txt.gz
. Sehengzip --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 kanngzip
,bzip2
,lzma
oder irgendetwas anderes.quelle