当我尝试将名为的文件解压Joomla_3.0.3-Stable-Full_Package.zip
到名为的目录中时joomla
,出现文件名不匹配的情况。这是为什么?
# unzip -Z Joomla_3.0.3-Stable-Full_Package.zip /opt/lampp/htdocs/joomla/
Archive: Joomla_3.0.3-Stable-Full_Package.zip
caution: filename not matched: /opt/lampp/htdocs/joomla/
以下是该目录的屏幕截图:
(joomla 目录是空的)
答案1
尝试指定要解压缩的文件并使用通配符时,也会出现此错误。例如:
unzip -o somearchive.zip somedir/*
可能发生的情况是,bash 展开somedir/*
为实际存在的目录及其包含的文件。然后,该列表被传递给 unzip,并尝试在 zip 文件中找到这些文件。
为了防止这种行为,只需*
像这样逃避:
unzip -o somearchive.zip somedir/\*
或者,将要提取的文件放在双引号中:
unzip -o somearchive.zip "somedir/*"
答案2
如果您尝试使用单个命令解压缩整个目录的 zip 文件,也会收到该错误,例如:
unzip *.zip
我在另一个网站上找到了解决方案。该*
符号必须转义,因此您应该运行以下命令:
unzip \*.zip
反而。
答案3
档案名称后的文件名参数指定要提取的文件。用于-d
指定目标目录:
Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
...
-d extract files into exdir
此外,-Z
用于查询档案,而不是提取。
答案4
使用 -d 运算符
unzip Joomla_3.0.3-Stable-Full_Package.zip -d /opt/lampp/htdocs/joomla