web-dev-qa-db-fra.com

Commande de 'gzip' un dossier?

Je suis nouveau dans la commande Mac. Comment créez-vous un gzip d'un dossier sous Mac OS X? Quelques personnes m'ont dit que si vous voulez créer un gzip d'un dossier, vous devez le "tar" d'abord, puis le "gzip". Est-ce correct?

60
thndrkiss

Tar est l'outil d'archivage et gzip est l'outil de compression. Pour compresser un répertoire complet, vous devez d’abord l’archiver dans un seul fichier. C'est ce que le travail est tar. et puis vous compressez le fichier archivé. Vous pouvez effectuer les deux tâches dans une seule commande tar avec l'option appropriée.

tar -czf nom_dossier.tar.gz nom_dossier /

Si vous ne voulez pas créer d'archive tar (vous voulez peut-être ne compresser qu'un seul fichier), vous pouvez utiliser directement la commande gzip.

gzip fichier.txt

Cela créera un fichier compressé nommé file.txt.gz

120
taskinoor

Si quelqu'un trouve toujours cette question en cherchant "gzip sous Mac", j'ai écrit un guide qui pourrait être utile à quelqu'un d'autre. Ici ça va:

Compression

La commande la plus élémentaire compresse le fichier filename.ext et le remplace par filename.ext.gz dans le même répertoire.

gzip filename.ext

Si vous ne voulez pas perdre votre fichier d'origine, vous devez diriger la sortie de gzip -c vers un fichier.

gzip -c filename.ext > anotherfile.gz

Nous pouvons également compresser à partir d'une entrée standard afin de pouvoir compresser la sortie d'autres commandes.

cat filename.ext | gzip > anotherfile.gz

OS X est également livré avec les commandes compress et uncompress. Ils constituent un gzip "plus intelligent", car il ne compresse pas le fichier s'il grossit après le processus de compression. La commande suivante remplace filename.ext par filename.ext.Z dans le même répertoire.

compress filename.ext

Décompresser

Pour restaurer un fichier dans son état naturel non compressé, vous pouvez utiliser gzip ou un autre des wrappers. Le mode de décompression de gzip est appelé avec l’indicateur -d. Ce mode remplacera le fichier filename.ext.gz par filename.ext dans le même répertoire. Il existe également un raccourci appelé gunzip qui fera de même.

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

Nous pouvons également diriger le fichier décompressé vers la sortie standard pour l'enregistrer dans un autre fichier.

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

Un autre moyen rapide de lire le contenu d’un gzip sur la sortie standard est zcat, c’est fondamentalement la même chose que d’appeler gzip -cd mais vous pouvez appeler plusieurs fichiers et les faire concaténer de la même façon que la commande cat concat les fichiers texte. Le seul inconvénient est que vos fichiers doivent être suffixés du suffixe .Z pour que cela fonctionne ...

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

Mais n'ayez crainte! zcat c'est toujours utile, car il peut décompresser depuis la sortie standard. Vous pouvez donc essentiellement diriger vos fichiers vers zcat pour les décompresser sur la fenêtre du terminal.

cat filename.ext.gz | zcat

Ceci est très utile si vous devez vérifier le contenu d'un fichier très rapidement, et vous pouvez même sauvegarder la sortie de zcat dans un fichier, tout aussi facilement.

cat filename.ext.gz | zcat > anotherfile

Le wrapper uncompress fonctionne comme gzip -cd mais il recherche les fichiers avec l’extension .Z pour les remplacer dans le répertoire en cours. Vous devez donc spécifier le nom du fichier que vous souhaitez restaurer, mais c’est acceptable si vous l’appelez avec l’extension .Z. , comme le programme l’ignorera.

compress filename.ext
uncompress filename.ext

J'espère que vous trouverez mon guide utile :)

12
Pablo Albornoz

MacOS X est Unix donc cela devrait fonctionner (cela fonctionne sous GNU/Linux)

 dossier tar czvf compressé.tar.gz 
4
jcubic

Pour ajouter à la réponse de @taskinoor: si vous utilisez une version à fichier unique, alias

gzip file.txt

sachez que le fichier d'origine (fichier.txt) sera supprimé et que vous n'aurez que fichier.txt.gz

Je mettrais ceci comme commentaire mais n'ai pas assez de karma pour faire ça: =)

3
Miro A.

Oui, vous devez d'abord télécharger le répertoire. La commande tar peut faire les deux:

tar -czf archiv.tar.gz mydir/

extraire votre archiv:

tar -xzf archiv.tar.gz
3
Till Freier

Oui, c'est correct gzip ne peut que compresser un fichier. tar encode le contenu du répertoire dans un seul fichier, qui peut être compressé à l'aide de gzip, bzip2, lzma ou de toute autre méthode.

1
Roman Cheplyaka