Es wird versucht, eine Datei zu entpacken. Der Dateiname stimmt nicht überein, wenn das Verzeichnis vorhanden ist


32

Beim Versuch, eine Datei mit dem Namen Joomla_3.0.3-Stable-Full_Package.zip in das Verzeichnis mit dem Namen joomla zu entpacken, stimmen die Dateinamen nicht überein. Warum das?

[root @ Feddy Joomla] # unzip -Z Joomla_3.0.3-Stable-Full_Package.zip / opt / lampp / htdocs / joomla /
Archiv: Joomla_3.0.3-Stable-Full_Package.zip
Vorsicht: Dateiname stimmt nicht überein: / opt / lampp / htdocs / joomla /

Hier ist die Bildschirmdarstellung des Verzeichnisses:

Joomla Bildschirm Besetzung

(Das joomla Verzeichnis ist leer)

Antworten:


36

Sie können dies auch erhalten, wenn Sie versuchen, die zu entpackenden Dateien anzugeben und ein Platzhalterzeichen zu verwenden. Beispielsweise:

unzip -o somearchive.zip somedir/*

Was passieren kann ist, dass die Bash somedir/*zu einem tatsächlich existierenden Verzeichnis und den darin enthaltenen Dateien erweitert wird. Diese Liste wird dann zum Entpacken übergeben und versucht, diese Dateien in der ZIP-Datei zu finden.

Um dieses Verhalten zu verhindern, gehen Sie *wie folgt vor:

unzip -o somearchive.zip somedir/\*

Oder setzen Sie die zu extrahierenden Dateien in doppelte Anführungszeichen:

unzip -o somearchive.zip "somedir/*"

1
Was ist die -o Flagge?
Amalgovinus

1
Mit der Option -o werden vorhandene Dateien ohne Aufforderung überschrieben.
Sjbotha

Möglicherweise wird auch der Fehler "Dateiname stimmt nicht überein" angezeigt, wenn sich Ihre -oFlagge an der falschen Stelle befindet: unzip -o ARCHIVE_NAME.zipist gut, während unzip ARCHIVE_NAME.zip -oschlecht
Jaymon

Downvoting, weil diese Antwort zwar zutreffende Aussagen macht, aber nicht das Problem des OP anspricht. Dies ist ein Missverständnis in Bezug auf die zu entpackenden Argumente.
Ernest Friedman-Hill

Ich hatte diesen Fehler, fand diese Seite und diese Antwort löste mein Problem.
Derek Bennett

16

Das Argument Dateiname nach dem Archivnamen gibt eine zu extrahierende Datei an. Verwenden Sie -ddiese Option, um das Zielverzeichnis anzugeben:

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

Darüber hinaus -Zwird zum Abfragen des Archivs nicht extrahiert.


hab dich nicht verstanden Können Sie bitte den Befehl schreiben
Suhail Gupta

1
@SuhailGupta: unzip -d /opt/lampp/htdocs/joomla/ Joomla_3.0.3-Stable-Full_Package.zipdh fallen lassen -Z, hinzufügen -d.
Choroba

2

Dieser genaue Befehl hat bei mir funktioniert:
unzip -o archive.zip -d /Users/current/Dev/tools/

Beachten Sie die Kombination der Optionen -o& -d(Ziel / Inflationspfad).


arbeitete auch für mich.
Manikandan Arunachalam

2

Diese Fehlermeldung wird auch angezeigt, wenn Sie versuchen, ein ganzes Zip-Verzeichnis mit einem einzigen Befehl zu dekomprimieren. Beispiel:

unzip *.zip

Ich habe die Lösung auf einer anderen Website gefunden. Das *Symbol muss mit einem Escape-Zeichen versehen werden. Führen Sie stattdessen Folgendes aus:

unzip \*.zip

stattdessen.


oh .. sieht aus wie Fluchtsymbole sind nicht erlaubt, aber ich bin sicher, dass jeder weiß, was das sind.
Dfasdfg

Das ergibt für mich keinen Sinn, zumindest nicht, wenn Sie über Unix / Linux sprechen. (Es mag sinnvoll sein, wenn Sie über Windows sprechen, aber diese Frage bezieht sich auf Fedora Linux.) Soweit dies (möglicherweise) sinnvoll ist, scheint es ein Duplikat der Antwort von  sjbotha zu sein . Können Sie erklären, was Sie deutlicher meinen?
G-Man sagt, dass Monica

Ich sprach über den Befehl zum Entpacken, den ich auf einem Linux-System verwendet habe. Ich hatte ein Verzeichnis mit vielen zip-Dateien und ich habe versucht, sie alle mit unzip * .zip zu extrahieren und bekam diesen Fehler, weil der * nicht entkommen war. Sie könnten auch Recht haben, wenn Sie nicht hierher gehören, da die Operation nur versucht hat, eine Zip-Datei zu extrahieren, und ich versucht habe, viele mit einem Befehl zu extrahieren.
Dfasdfg

1

Der Versuch, eine komprimierte Datei mit einem neuen Namen zu entpacken, löst die Ausnahme "Dateiname stimmt nicht überein" aus. Um dies zu umgehen, verschieben Sie die ZIP-Datei in das Zielverzeichnis

mv the_file.zip somedir/

Navigieren Sie zum Zielverzeichnis

cd somedir/

Führen Sie von dort aus den Befehl unzip ohne das Argument für den Zieldateinamen aus

unzip the_file.zip

Alles wird gut funktionieren.

In diesem Fall sollten die Befehle also lauten

[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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.