4

Я пытаюсь заархивировать каталог Linux с помощью следующей команды:

zip -r file.zip .

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

2 ответа2

4

Наиболее вероятный ответ:

zip -r file.zip. -i \*

Вы получаете предупреждение при архивировании пустой папки, но опять же решение не зависит от размера своей функции. Работает для пустых и непустых каталогов.

Это решение работает в относительном смысле в отличие от решений, использующих $ PWD, таких как

zip -r file.zip $ PWD

который будет сжимать всю структуру папок.

2

Какую версию zip вы используете? У меня есть:

$ zip -v
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.

И если я создам несколько каталогов:

$ mkdir -p a/{b1,b2}

А затем создайте zip-файл:

$ zip -r file.zip .
adding: a/ (stored 0%)
adding: a/b1/ (stored 0%)
adding: a/b2/ (stored 0%)

Получающийся архив, кажется, имеет пустые каталоги:

$ unzip -l file.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  01-11-2011 11:54   a/
        0  01-11-2011 11:55   a/b1/
        0  01-11-2011 11:54   a/b2/
---------                     -------
        0                     3 files

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .