26

При попытке распаковать файл с именем Joomla_3.0.3-Stable-Full_Package.zip в каталог с именем joomla, я получаю имя файла не совпадает. Это почему?

[root @ Feddy Joomla] # распаковать -Z Joomla_3.0.3-Stable-Full_Package.zip /opt /lampp /htdocs /joomla /
Архив: Joomla_3.0.3-Stable-Full_Package.zip
Внимание: имя файла не совпадает: /opt /lampp /htdocs /joomla /

Вот скриншот каталога:

Joomla скрининг

(Каталог Joomla пуст)

3 ответа3

29

Вы также можете получить это, когда пытаетесь указать файлы для распаковки и использовать подстановочный знак. Например:

unzip -o somearchive.zip somedir/*

Может случиться так, что bash расширяет somedir/* до фактического существующего каталога и файлов, которые он содержит. Затем этот список передается для распаковки, и он пытается найти эти файлы в zip-файле.

Для предотвращения такого поведения просто экранируйте * как это:

unzip -o somearchive.zip somedir/\*

Или поместите файлы для извлечения в двойные кавычки:

unzip -o somearchive.zip "somedir/*"
11

Аргумент имени файла после имени архива указывает файл для извлечения. Используйте -d чтобы указать целевой каталог:

Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
    ...
    -d  extract files into exdir

Более того, -Z используется для запроса архива, а не для извлечения.

1

Попытка разархивировать заархивированный файл с новым именем вызовет исключение «Имя файла не совпадает». Чтобы обойти это, переместите ZIP-файл в каталог назначения.

mv the_file.zip somedir/

перейти к каталогу назначения

cd somedir/

оттуда выполните команду unzip без аргумента имени файла назначения

unzip the_file.zip

Все будет хорошо работать.

так что в этом случае команды должны быть

[root@Feddy Joomla]# mv Joomla_3.0.3-Stable-Full_Package.zip /opt/lampp/htdocs/joomla/
[root@Feddy Joomla]# cd /opt/lampp/htdocs/joomla/
[root@Feddy Joomla]/opt/lampp/htdocs/joomla# unzip Joomla_3.0.3-Stable-Full_Package.zip

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