Я пытаюсь заархивировать каталог Linux с помощью следующей команды:
zip -r file.zip .
Это работает, но не включает пустые каталоги, которые я хочу включить в zip-файл. Как я могу получить их для включения?
Наиболее вероятный ответ:
zip -r file.zip. -i \*
Вы получаете предупреждение при архивировании пустой папки, но опять же решение не зависит от размера своей функции. Работает для пустых и непустых каталогов.
Это решение работает в относительном смысле в отличие от решений, использующих $ PWD, таких как
zip -r file.zip $ PWD
который будет сжимать всю структуру папок.
Какую версию 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