ディレクトリが存在する場合、「ファイル名が一致しません」というファイルを解凍しようとしています


32

名前のディレクトリにJoomla_3.0.3-Stable-Full_Package.zipという名前のファイルを解凍しようとしたときに、Joomlaの私は、ファイル名が一致していない取得します。何故ですか?

[root @ Feddy Joomla]#unzip -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ディレクトリは空です)

回答:


36

これは、解凍するファイルを指定するときにワイルドカード文字を使用するときにも取得できます。例えば:

unzip -o somearchive.zip somedir/*

起こる可能性があるのは、bashがsomedir/*実際の既存のディレクトリとそれに含まれるファイルに展開することです。次に、そのリストがunzipに渡され、zipファイル内でこれらのファイルを見つけようとします。

この動作を防ぐには、次の*ようにエスケープします。

unzip -o somearchive.zip somedir/\*

または、抽出するファイルを二重引用符で囲みます。

unzip -o somearchive.zip "somedir/*"

1
-oフラグとは何ですか?
アマルゴビヌス

1
-oオプションは、プロンプトを出さずに既存のファイルを上書きします。
sjbotha

お使いのときにも、「ファイル名が一致しない」というエラーを取得する可能性があります-oフラグは間違った場所にある:unzip -o ARCHIVE_NAME.zip良いしばらくはされてunzip 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アーカイブではなく、抽出のクエリに使用されます。


あなたを取得しませんでした。コマンドを書いてください
スヘイルグプタ

1
@SuhailGupta:、unzip -d /opt/lampp/htdocs/joomla/ Joomla_3.0.3-Stable-Full_Package.zipつまりdrop -Z、add -d
チョロバ

2

この正確なコマンドは私のために働いた:
unzip -o archive.zip -d /Users/current/Dev/tools/

オプション-o-d(宛先/インフレパス)の組み合わせに注意してください。



2

次のような単一のコマンドでzipのディレクトリ全体を解凍しようとすると、このエラーが発生します。

unzip *.zip

別のサイトで解決策を見つけました。*あなたの代わりにこれを実行する必要がありますので、記号は、エスケープする必要があります。

unzip \*.zip

代わりに。


ああ..許可されていないエスケープ記号のように見えますが、誰もがそれらが何であるかを知っていると確信しています。
dfasdfg

これは、少なくともUnix / Linuxについて話している場合には意味がありません。(Windowsについて話しているのは理にかなっているかもしれませんが、この質問はFedora Linuxについてです。)そして、それが理にかなっている限り(可能性として)、それはsjbothaの答えの複製の  ようです。あなたが意味することをより明確に説明できますか?
G-Manが「Reinstate Monica」と言う

Linuxシステムで使用したunzipコマンドについて話していました。私は多くのzipファイルを含むディレクトリを持っていて、unzip * .zipでそれらをすべて抽出しようとしましたが、*がエスケープされていないため、そのエラーが発生しました。また、opが1つのzipファイルを抽出しようとし、1つのコマンドで多くのzipファイルを抽出しようとしたため、ここに属さないことについても正しいかもしれません。
dfasdfg

1

新しい名前でzipファイルを解凍しようとすると、「Filename not matches」例外が発生します。これを回避するには、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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.