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

Opdracht om een map te 'gzippen'?

Ik ben nieuw met Mac commando prompt dingen. Hoe maak je een gzip van een map in Mac OS X? Ik heb van een paar mensen gehoord dat als je een gzip van een map wilt maken, je hem eerst moet ‘tarren’ en dan pas ‘gzippen’. Is dit correct?

Antwoorden (6)

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

Tar is het archiefgereedschap en gzip is het compressiegereedschap. Om een volledige directory te comprimeren, moet je hem eerst archiveren tot een enkel bestand. Dat is de taak van tar. en dan comprimeer je het gearchiveerde bestand. Je kunt beide taken uitvoeren in een enkel tar commando met de juiste optie.

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

Als je geen tar archief wilt maken (misschien wil je alleen een bestand comprimeren), dan kun je direct het gzip commando gebruiken.

gzip file.txt

Het zal een gecomprimeerd bestand maken met de naam file.txt.gz

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

Als iemand deze vraag nog steeds vindt bij het zoeken naar “gzip in Mac”, heb ik een gids geschreven die misschien nuttig kan zijn voor iemand anders. Hier gaat het:

comprimeren

Het meest eenvoudige commando comprimeert het bestand filename.ext en vervangt het dan door filename.ext.gz in dezelfde directory.

gzip filename.ext

Als je je originele bestand niet wilt verliezen, dan moet je de uitvoer van gzip -c naar een bestand pijpen.

gzip -c filename.ext > anotherfile.gz

We kunnen ook comprimeren vanaf standaard input, dus we kunnen de uitvoer van andere commando’s comprimeren.

cat filename.ext | gzip > anotherfile.gz

OS X heeft ook de compress en uncompress commando’s. Ze zorgen voor een “slimmere” gzip, omdat het bestand niet wordt gecomprimeerd als het zou groeien na het comprimeren. Het volgende commando vervangt filename.ext door filename.ext.Z in dezelfde directory.

compress filename.ext

Decomprimeren

Om een bestand terug te brengen naar zijn ongecomprimeerde natuurlijke staat kun je gzip of een van de andere wrappers gebruiken. De decompressiemodus van gzip wordt aangeroepen met de vlag -d. Deze modus zal het bestand filename.ext.gz vervangen door filename.ext in dezelfde directory. Er is ook een snelkoppeling genaamd gunzip die hetzelfde zal doen.

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

We kunnen het gedecomprimeerde bestand ook naar de standaarduitvoer pijpen om het in een ander bestand op te slaan.

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

Een andere snelle manier om de inhoud van een gzip naar standaarduitvoer te lezen is zcat, het is in principe hetzelfde als gzip -cd aanroepen, maar je kunt meerdere bestanden aanroepen en ze aan elkaar laten plakken op dezelfde manier als het cat commando tekstbestanden aaneenschakelt. Het enige nadeel is dat je bestanden moeten worden voorzien van het achtervoegsel .Z om het te laten werken…

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

Maar vrees niet! zcat is nog steeds bruikbaar, omdat het kan decomprimeren vanaf standaard output. Dus je kunt in principe je bestanden naar zcat pijpen om ze te laten uitpakken in het terminal venster.

cat filename.ext.gz | zcat

Dit is erg handig als je heel snel de inhoud van een bestand moet controleren, en je kunt zelfs de uitvoer van zcat opslaan in een bestand, net zo makkelijk.

cat filename.ext.gz | zcat > anotherfile

De uncompress wrapper werkt als gzip -cd, maar het zoekt naar bestanden met de .Z extensie om ze te vervangen in de huidige directory, dus je hoeft alleen de bestandsnaam op te geven die je wilt herstellen, maar het is niet erg als je het aanroept met de .Z extensie, omdat het programma die zal negeren.

compress filename.ext
uncompress filename.ext

Ik hoop dat je mijn gids nuttig vindt :)

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

MacOS X is Unix dus dit zou moeten werken (dit werkt op GNU/Linux)

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

Om toe te voegen aan het antwoord van @taskinoor: als je enkele bestandsversie gebruikt, aka

gzip file.txt

wees je ervan bewust dat het originele bestand (file.txt) zal worden verwijderd en je alleen file.txt.gz

Ik zou dit als commentaar plaatsen maar heb niet genoeg karma om dat te doen :=)

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

Ja, je moet de directory eerst tar-en. Het tar-commando kan beide:

tar -czf archiv.tar.gz mydir/

pak je archiv:

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

Ja, dat is juist. gzip kan alleen een bestand comprimeren. tar codeert de mapinhoud in een enkel bestand, dat verder kan worden gecomprimeerd met gzip, bzip2, lzma of iets anders.