Вы можете просто использовать *; в этом нет необходимости *.*. Расширения файлов не являются специальными в Unix. *соответствует нулю или более символов - включая точку Так что это соответствует foo.png, потому что это ноль или более символов (семь, если быть точным).
Обратите внимание, что *по умолчанию не совпадает с файлами, начинающимися с точки (не совпадает *.*). Это часто то, что вы хотите. Если нет, то в bash, если вы shopt -s dotglobэто сделаете (но все равно исключите .и ..). В других оболочках есть разные способы (или их вообще нет) включения файлов точек.
В качестве альтернативы zipтакже имеется -r(рекурсивная) опция для одновременного создания целых деревьев каталогов (и не нужно беспокоиться о проблеме с точечным файлом):
zip -r myfiles.zip mydir
где mydirнаходится каталог, содержащий ваши файлы. Обратите внимание, что созданный zip-файл будет содержать как структуру каталогов, так и файлы. Как отмечает Петерф в своем комментарии, это обычно рассматривается как хорошая вещь: распаковка zip аккуратно сохранит все извлеченные файлы в одном подкаталоге.
Вы также можете сказать , почтовый индекс , чтобы не сохранять пути с -j/ --junk-pathsопции.
Команда zipпоставляется с документацией, рассказывающей обо всех ее (многих) параметрах; введите, man zipчтобы увидеть эту документацию. Это не уникально для почтового индекса; таким образом вы можете получить документацию для большинства команд.
zip myarch.zip mydir/*?