尝试解压缩文件,如果目录存在,“文件名不匹配”


32

尝试将名为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目录为空)

Answers:


36

尝试指定要解压缩的文件并使用通配符时,也可以获取此信息。例如:

unzip -o somearchive.zip somedir/*

可能发生的是,bash会扩展somedir/*为实际的现有目录及其包含的文件。该列表然后传递给解压缩,并尝试在zip文件中找到这些文件。

为了避免这种行为,只需*像这样逃脱:

unzip -o somearchive.zip somedir/\*

或者,将要提取的文件放在双引号中:

unzip -o somearchive.zip "somedir/*"

1
什么是-o标志?
Amalgovinus

1
-o选项用于覆盖现有文件而不会提示。
sjbotha

当您的-o标志放置在错误的位置时,您可能还会收到“文件名不匹配”错误:unzip -o ARCHIVE_NAME.zipunzip ARCHIVE_NAME.zip -o是坏
Jaymon

拒绝投票的原因是,尽管此答案做出了正确的陈述,但它们并未解决OP所存在的问题,这对于解压缩的参数是一种误解。
欧内斯特·弗里德曼·希尔

我遇到了这个错误,找到了此页面,这个答案解决了我的问题。
德里克·贝内特

16

存档名称后的文件名参数指定要提取的文件。使用-d指定目标目录:

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

而且,-Z用于查询档案,而不是提取。


没有得到你。能否请您写命令
Suhail Gupta

1
@SuhailGupta:unzip -d /opt/lampp/htdocs/joomla/ Joomla_3.0.3-Stable-Full_Package.zip即drop -Z,添加-d
choroba

2

这个确切的命令对我有用:
unzip -o archive.zip -d /Users/current/Dev/tools/

注意选项-o-d(目标/通货膨胀路径)的组合。


也为我工作。
Manikandan Arunachalam

2

如果您尝试使用单个命令来解压缩整个zip目录,也会遇到该错误:

unzip *.zip

我在另一个站点上找到了解决方案。该*符号必须转义,因此您应该运行以下命令:

unzip \*.zip

代替。


哦..看起来好像可以使用转义符号,但我不确定每个人都知道它们是什么。
dfasdfg

这对我来说没有任何意义,至少在您谈论Unix / Linux时没有。(如果您正在谈论Windows,这可能是有道理的,但是这个问题是关于Fedora Linux的。)而且,在一定程度上(有可能),它似乎是sjbotha的回答的重复  。您能更清楚地解释您的意思吗?
G-Man说“恢复莫妮卡”

我在谈论我在Linux系统上使用的unzip命令。我有一个包含许多zip文件的目录,我尝试使用* .zip解压缩所有文件,但由于*没有转义,因此出现了该错误。您可能也对此不正确,因为操作仅尝试提取一个zip文件,而我尝试使用一个命令提取许多文件。
dfasdfg

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.