web-dev-qa-db-fra.com

Compresser des fichiers depuis un terminal OS X?

Dans le Finder, il existe cette merveilleuse possibilité de cliquer avec le bouton droit de la souris sur un fichier ou un répertoire, de sélectionner une compression dans la liste déroulante et de créer un fichier compressé.

Est-il possible de faire la même chose depuis le terminal?

46
William Jockusch

Cela s'appelle Zip.

Ceci ajoute le fichier file à l’archive file.Zip:

Zip file.Zip file

Bien sûr, pour ajouter plus de fichiers, ajoutez-les simplement comme arguments à la commande. Consultez man Zip pour plus d'options.

Vous voudrez souvent omettre d'inclure ces fichiers fastidieux .DS_Store, par exemple en compressant tout le dossier folder dans folder.Zip:

Zip -vr folder.Zipfolder/ -x "*.DS_Store"
61
slhck

Pour compresser les fichiers exactement comme la commande du Finder les compresserait, utilisez:

ditto -c -k --sequesterRsrc --keepParent src_directory archive.Zip

Voir man ditto pour plus de détails:

 The command:
       ditto -c -k --sequesterRsrc --keepParent src_directory archive.Zip
 will create a PKZip archive similarly to the Finder's Compress function-
 ality.
14
qqbenq

Il y a tar (1) et gzip (ou bzip2 ou lzma). Tar est utilisé pour rouler un certain nombre de fichiers dans une archive, tandis que l'un des trois autres est utilisé pour la compresser.

Sur une ligne de commande, vous appelez tar avec quelques options pour créer une archive et la gzip.

Par exemple.:

tar -c -z -f myarchive.tar.gz -C /home/username Downloads

Cette volonté - c crée ag - z Archive ippée nommée - f Fichier depuis le - C hange-folder-to et contient tous les fichiers du dossier Téléchargements. L'option -C est facultative et les arguments du fichier source seront extraits du dossier en cours s'ils sont omis.

Pour référence: tutoriel sur tar