Ви можете просто використовувати *
; в цьому немає потреби *.*
. Розширення файлів не є особливими для 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/*
?