Les bases de l'exclusion de fichiers lors de la création d'une archive zip sont centrées sur -x
indicateur, qui est utilisé pour exclure de l'archive les fichiers qui correspondent à un nom ou un modèle spécifique. Au plus élémentaire, cela ressemblera à ceci:
zip archive.zip files -x "ExcludeMe"
Cela signifie que vous pouvez exclure un seul fichier, disons qu'il s'appelle " Nothanks.jpg”
zip archive.zip images/ -x "Nothanks.jpg"
Couvrons quelques exemples spécifiques où cela est utile.
Exclure .Fichiers DS_Store à partir d'Archives Zip
Cela empêchera les métadonnées Mac généralement invisibles .DS_Store
les fichiers d'être inclus dans une archive zip, qui sont regroupés par défaut:
zip -r archivename.zip archivedirectory -x "*.DS_Store"
Cependant, si le répertoire comprend des sous-répertoires, vous souhaiterez utiliser une autre variante de cette commande pour exclure également les fichiers ds_store des sous-répertoires:
zip -r archive.zip directory -x "*/\.DS_Store"
Remarque: tous les shells n'ont pas besoin des guillemets pour que cette commande fonctionne correctement, mais dans le shell bash (par défaut pour OS X), vous devrez utiliser les guillemets pour exclure avec des caractères génériques et des motifs.
Exclure des Types de fichiers spécifiques d'une archive Zip
Avec les caractères génériques, vous pouvez également exclure tous les fichiers d'un certain type en vous concentrant sur l'extension. Par exemple, cette commande compressera un répertoire entier, moins tout .jpg
fichier:
zip -r archive.zip directory -x "*.jpg"
Cela pourrait être modifié pour toute extension de fichier spécifique ou modèle correspondant à un nom de fichier.
Exclure le .git ou .répertoire svn à partir d'une archive Zip
Zip un répertoire, moins .git
et c'est le contenu:
zip -r zipdir.zip directorytozip -x "*.git*"
Zip un dossier, sans inclure le .svn
répertoire:
zip -r zipped.zip directory -x "*.svn*"
Exclure tous les fichiers Cachés d'une archive Zip
Étant donné que les modèles et les caractères génériques peuvent être utilisés, vous pouvez également exclure tout ou partie des fichiers et dossiers invisibles qui sont rendus ainsi en étant préfixés par un point, qu'il s'agisse d'un répertoire comme .svn
ou un fichier individuel comme .bash_profile
ou .htaccess
.
zip -r archivename.zip directorytozip -x "*.*"
Ou pour exclure tous les fichiers invisibles de tous les sous-répertoires:
zip -r archive.zip directory -x "*/\.*"