Я хочу сделать 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)
Что случилось и как я могу это исправить?
На странице 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. На странице 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. На странице 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.