Tentativo di decomprimere un file, "Nome file non corrispondente" quando esiste la directory


32

Durante il tentativo di decomprimere un file denominato Joomla_3.0.3-Stable-Full_Package.zip nella directory denominata joomla ottengo il nome file non corrispondente. Perché?

[root @ Feddy Joomla] # unzip -Z Joomla_3.0.3-Stable-Full_Package.zip / opt / lampp / htdocs / joomla /
Archive: Joomla_3.0.3-Stable-Full_Package.zip
cautela: nome file non corrispondente: / opt / lampp / htdocs / joomla /

Ecco il cast della schermata della directory:

cast dello schermo di joomla

(La directory di joomla è vuota)

Risposte:


36

È inoltre possibile ottenere questo quando si tenta di specificare i file da decomprimere e si utilizza un carattere jolly. Per esempio:

unzip -o somearchive.zip somedir/*

Ciò che può accadere è che bash si espande somedir/*in una directory esistente e nei file che contiene. Tale elenco viene quindi passato per decomprimere e tenta di trovare questi file nel file zip.

Per prevenire questo comportamento basta sfuggire *a questo:

unzip -o somearchive.zip somedir/\*

Oppure, inserisci i file da estrarre tra virgolette doppie:

unzip -o somearchive.zip "somedir/*"

1
Cos'è la bandiera -o?
Amalgovinus,

1
L'opzione -o è di sovrascrivere i file esistenti senza richiedere conferma.
sjbotha,

Potresti anche ricevere l'errore "Nome file non abbinato" quando la tua -obandiera è nel posto sbagliato: unzip -o ARCHIVE_NAME.zipva bene mentre unzip ARCHIVE_NAME.zip -oè male
Jaymon,

Downvoting perché, sebbene questa risposta faccia affermazioni vere, non affrontano il problema che l'OP ha, il che è un fraintendimento su quegli argomenti da decomprimere.
Ernest Friedman-Hill,

Ho avuto questo errore, ho trovato questa pagina e questa risposta ha risolto il mio problema.
Derek Bennett,

16

L'argomento nome file dopo il nome dell'archivio specifica un file da estrarre. Utilizzare -dper specificare la directory di destinazione:

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

Inoltre, -Zviene utilizzato per interrogare l'archivio, non per estrarlo.


non ti ho preso. Puoi per favore scrivere il comando
Suhail Gupta

1
@SuhailGupta: unzip -d /opt/lampp/htdocs/joomla/ Joomla_3.0.3-Stable-Full_Package.zipovvero rilasciare -Z, aggiungere -d.
Choroba,

2

Questo comando esatto ha funzionato per me:
unzip -o archive.zip -d /Users/current/Dev/tools/

Notare la combinazione di opzioni -oe -d(percorso destinazione / inflazione).


ha funzionato anche per me.
Manikandan Arunachalam,

2

Otterrai anche questo errore se provi a decomprimere un'intera directory di zip con un singolo comando, come:

unzip *.zip

Ho trovato la soluzione su un altro sito. È *necessario eseguire l'escape del simbolo, quindi è necessario eseguire questo:

unzip \*.zip

anziché.


oh .. sembra che i simboli di fuga non siano consentiti ma sono sicuro che tutti sappiano quali sono.
dfasdfg,

Questo non ha alcun senso per me, almeno non se stai parlando di Unix / Linux. (Potrebbe avere senso se stai parlando di Windows, ma questa domanda riguarda Fedora Linux.) E, nella misura in cui ha senso (potenzialmente), sembra essere un duplicato della risposta di  sjbotha . Puoi spiegare cosa intendi più chiaramente?
G-Man dice "Reinstate Monica" il

stavo parlando del comando unzip che ho usato su un sistema linux. avevo una directory con molti file zip e ho provato a estrarli tutti con unzip * .zip e ho ottenuto quell'errore perché il * non è stato salvato. potresti anche avere ragione su questo non appartenente a questo dato poiché l'operazione ha appena tentato di estrarre un file zip e stavo cercando di estrarne molti con un solo comando.
dfasdfg

1

Tentare di decomprimere un file zippato con un nuovo nome solleverà l'eccezione "Nome file non corrispondente". Per ovviare a ciò, spostare il file zip nella directory di destinazione

mv the_file.zip somedir/

passare alla directory di destinazione

cd somedir/

da lì eseguire il comando unzip senza l'argomento nomefile di destinazione

unzip the_file.zip

Tutto funzionerà bene.

quindi in questo caso i comandi dovrebbero essere

[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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.