Почему бы не исключить работу определенной папки, когда я создаю .zip-файл?

Я хочу сделать zip-файл каталога, кроме конкретной папки, которая находится в нем. Вот моя команда:

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

Я хочу сделать zip этой /var/www/html/m4/, кроме public/images/ папки, которая существует в ней. Но моя команда выдает это сообщение об ошибке:

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

Что случилось и как я могу это исправить?

1
задан 23 April 2017 в 10:42

3 ответа

На странице zip man написано:

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

, поэтому имя zip-файла и путь к структуре, которую вы хотите сжать, должны появиться перед списком исключений.

часть вашей команды не будет применена правильно:

-x 'public/images/'

Поскольку он не указывает файлы так, как распознает zip.

Это будет работать:

zip -r my.zip /var/www/html/m4/ -x /var/www/html/m4/public/images/\*
Как вы знаете, -r является рекурсивным. -x используется для исключения (файлов), \, прежде чем * используется, чтобы избежать расширения имени файла оболочкой; мы оставляем это zip.
2
ответ дан 22 May 2018 в 23:19

На странице zip man написано:

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

, поэтому имя zip-файла и путь к структуре, которую вы хотите сжать, должны появиться перед списком исключений.

часть вашей команды не будет применена правильно:

-x 'public/images/'

Поскольку он не указывает файлы так, как распознает zip.

Это будет работать:

zip -r my.zip /var/www/html/m4/ -x /var/www/html/m4/public/images/\* Как вы знаете, -r является рекурсивным. -x используется для исключения (файлов), \, прежде чем * используется, чтобы избежать расширения имени файла оболочкой; мы оставляем это zip.
2
ответ дан 18 July 2018 в 14:26

На странице zip man написано:

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

, поэтому имя zip-файла и путь к структуре, которую вы хотите сжать, должны появиться перед списком исключений.

часть вашей команды не будет применена правильно:

-x 'public/images/'

Поскольку он не указывает файлы так, как распознает zip.

Это будет работать:

zip -r my.zip /var/www/html/m4/ -x /var/www/html/m4/public/images/\* Как вы знаете, -r является рекурсивным. -x используется для исключения (файлов), \, прежде чем * используется, чтобы избежать расширения имени файла оболочкой; мы оставляем это zip.
2
ответ дан 24 July 2018 в 20:23

Другие вопросы по тегам:

Похожие вопросы: