80 votes

Commande pour "gzip" un dossier ?

Je suis novice en matière d'invite de commande Mac. Comment créer un gzip d'un dossier sous Mac OS X ? Quelques personnes m'ont dit que pour créer un fichier gzip d'un dossier, il fallait d'abord le "tar", puis le "gzip". Est-ce correct ?

1 votes

Ce n'est pas une question de programmation ? Votre message est étiqueté avec objective-c mais votre question porte sur la ligne de commande.

153voto

runeks Points 201

Tar est l'outil d'archivage et gzip est l'outil de compression. Afin de compresser un répertoire complet, vous devez d'abord l'archiver en un seul fichier. C'est la tâche de tar. et ensuite vous compressez le fichier archivé. Vous pouvez effectuer les deux tâches en une seule commande tar avec l'option appropriée.

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

Si vous ne voulez pas faire une archive tar (peut-être que vous voulez compresser un seul fichier), alors vous pouvez utiliser directement la commande gzip.

gzip file.txt

Il créera un fichier compressé nommé fichier.txt.gz.

33 votes

Il convient de mentionner les options -czf après tar sont destinés à : c indique que vous souhaitez créer une archive tar, z s'applique gzip sur l'archive tar intermédiaire, et f est pour le nom du fichier final suivant folder_name.tar.gz .

18 votes

Avertissement : gzip file.txt remplace le fichier original.

8 votes

@Zoltán Use gzip -k file.txt pour "conserver" (ne pas effacer) le fichier d'entrée.

17voto

Malcolm Swaine Points 121

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. Le voici :

Compresser

La commande la plus basique va compresser le fichier filename.ext et le remplacer 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 faire passer la sortie de l'application gzip -c dans un fichier.

gzip -c filename.ext > anotherfile.gz

Nous pouvons également compresser à partir de l'entrée standard, de sorte que nous pouvons compresser la sortie d'autres commandes.

cat filename.ext | gzip > anotherfile.gz

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

compress filename.ext

Décompression

Pour restaurer un fichier à son état naturel non compressé, vous pouvez utiliser gzip ou un autre wrapper. Le mode de décompression de gzip est appelé avec la commande -d drapeau. Ce mode remplacera le fichier filename.ext.gz con filename.ext dans le même répertoire. Il y a aussi un raccourci appelé gunzip qui feront la même chose.

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

Nous pouvons également envoyer 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

Une autre manière rapide de lire le contenu d'un gzip sur la sortie standard est zcat c'est en fait la même chose que d'appeler gzip -cd mais vous pouvez appeler plusieurs fichiers et les faire concaténer de la même manière que la méthode cat concatène des fichiers texte. Le seul inconvénient est que vos fichiers doivent être suffixés par le 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 il est toujours utile, car il peut décompresser à partir de la sortie standard. Vous pouvez donc envoyer vos fichiers à zcat pour qu'ils soient décompressés dans la fenêtre du terminal.

cat filename.ext.gz | zcat

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

cat filename.ext.gz | zcat > anotherfile

El uncompress fonctionne comme suit gzip -cd mais il recherche les fichiers avec l'extension .Z pour les remplacer dans le répertoire actuel, donc vous devez seulement spécifier le nom du fichier que vous voulez restaurer, mais ce n'est pas grave si vous l'appelez avec l'extension .Z, car le programme l'ignorera.

compress filename.ext
uncompress filename.ext

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

5voto

jcubic Points 2473

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

tar czvf compressed.tar.gz folder

4voto

Till Freier Points 141

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

tar -czf archiv.tar.gz mydir/

extraire vos archives :

tar -xzf archiv.tar.gz

3voto

Miro A. Points 245

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

gzip file.txt

soyez conscient que le fichier original (file.txt) sera supprimé et que vous n'aurez que file.txt.gz

Je mettrais bien ceci en commentaire mais je n'ai pas assez de karma pour le faire :=)

1 votes

gzip --keep file.txt conservera l'original et créera file.txt.gz . Voir gzip --help .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X