web-dev-qa-db-fra.com

Pourquoi l'exclusion d'un dossier spécifique ne fonctionne-t-elle pas pendant que je crée un fichier .Zip?

Je veux faire un fichier Zip d'un répertoire sauf un dossier spécifique qui est dedans. Voici ma commande:

Zip -r -x 'public/images/' tw.Zip /var/www/html/m4/

Je veux faire un zip de ce dossier /var/www/html/m4/ sauf public/images/ qui existe dans ce dossier. Mais ma commande lève ce message d'erreur:

Zip error: Invalid command arguments (nothing to select from)

Quel est le problème et comment puis-je résoudre ce problème?

3
stack

La page de manuel Zip dit:

Zip ... [zipfile [file ...]] [-xi list]

le nom du fichier Zip et le chemin d'accès à la structure que vous souhaitez compresser doivent donc précéder votre liste d'exclusion.

Cette partie de votre commande ne sera pas appliquée correctement:

-x 'public/images/'

Parce qu'il ne spécifie pas les fichiers de la façon dont Zip le reconnaît.

Cela fonctionnera:

Zip -r my.Zip /var/www/html/m4/ -x /var/www/html/m4/public/images/\*
  • Comme vous le savez, -r est récursif.
  • -x est utilisé pour exclure (fichiers),
  • \ avant * est utilisé pour éviter l'expansion du nom de fichier par le shell; nous laissons cela à Zip.
3
Ravexina