web-dev-qa-db-fra.com

Comment puis-je créer une archive Zip sans extension de fichier en utilisant la commande "Zip"?

Normalement, pour compresser un répertoire, je peux faire quelque chose comme ceci:

Zip -r archive.Zip directory/

Cependant, si j'essaie de supprimer l'extension de archive.Zip comme ça:

Zip -r archive directory/

Il ajoute implicitement le .Zip extension à la sortie. Existe-t-il un moyen de le faire sans créer un .Zip puis le renommer?

J'utilise cette version de Zip sur Ubuntu 18.04:

Copyright (c) 1990-2008 Info-Zip - Type 'Zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-Zip.
13
Wasabi Fan

Le -A (--adjust-sfx), l'option Zip traite le nom d'archive donné tel quel:

Zip -Ar archive directory/

Cela fonctionne même lorsque archive n'est pas créé en tant qu'archive auto-extractible.

26
Stephen Kitt

Vous pouvez lui demander de fournir la sortie Zip à stdout, puis la rediriger vers un fichier:

Zip -r - -- directory/ > archive

Le premier tiret fait référence à stdout et la paire de tirets sépare les arguments initiaux de la liste d'entrée, pour plus de clarté.

16
Wasabi Fan