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