Próbując rozpakować plik, „Nie pasuje nazwa pliku”, gdy katalog istnieje


32

Podczas próby rozpakowania pliku o nazwie Joomla_3.0.3-Stable-Full_Package.zip do katalogu o nazwie joomla otrzymuję niezgodną nazwę pliku. Dlaczego?

[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
Uwaga: nazwa pliku nie pasująca: / opt / lampp / htdocs / joomla /

Oto zrzut ekranu katalogu:

obsada ekranu joomla

(Katalog joomla jest pusty)

Odpowiedzi:


36

Możesz to również uzyskać, próbując określić pliki do rozpakowania i używając znaku wieloznacznego. Na przykład:

unzip -o somearchive.zip somedir/*

Może się zdarzyć, że bash rozwinie się somedir/*do rzeczywistego istniejącego katalogu i plików w nim zawartych. Ta lista jest następnie przekazywana do rozpakowania i próbuje znaleźć te pliki w pliku zip.

Aby zapobiec takiemu zachowaniu, wystarczy uciec w *ten sposób:

unzip -o somearchive.zip somedir/\*

Lub umieść pliki do wyodrębnienia w podwójnych cudzysłowach:

unzip -o somearchive.zip "somedir/*"

1
Jaka jest flaga -o?
Amalgovinus,

1
Opcja -o polega na zastąpieniu istniejących plików bez monitowania.
sjbotha

Może również pojawić się błąd „ -ounzip -o ARCHIVE_NAME.zipunzip ARCHIVE_NAME.zip -o
Niepasująca nazwa pliku

Oddawanie głosu, ponieważ chociaż ta odpowiedź zawiera prawdziwe stwierdzenia, nie dotyczą one problemu OP, co jest nieporozumieniem co do argumentów, które należy rozpakować.
Ernest Friedman-Hill

Miałem ten błąd, znalazłem tę stronę, a ta odpowiedź rozwiązała mój problem.
Derek Bennett

16

Argument nazwa pliku po nazwie archiwum określa plik do wyodrębnienia. Użyj, -daby określić katalog docelowy:

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

Ponadto -Zsłuży do przeszukiwania archiwum, a nie wypakowywania go.


nie rozumiem cię. Czy możesz napisać polecenie
Suhail Gupta

1
@ SuhailGupta:, unzip -d /opt/lampp/htdocs/joomla/ Joomla_3.0.3-Stable-Full_Package.ziptj. Upuść -Z, dodaj -d.
choroba

2

To dokładne polecenie działało dla mnie:
unzip -o archive.zip -d /Users/current/Dev/tools/

Zwróć uwagę na kombinację opcji -oi -d(miejsce docelowe / ścieżka inflacji).


też dla mnie pracował.
Manikandan Arunachalam

2

Ten błąd pojawi się również, jeśli spróbujesz rozpakować cały katalog zamków błyskawicznych za pomocą jednego polecenia, na przykład:

unzip *.zip

Znalazłem rozwiązanie na innej stronie. *Symbol musi być uciekł, więc należy uruchomić to w zamian:

unzip \*.zip

zamiast.


och ... wygląda na to, że symbole ucieczki są niedozwolone, ale jestem pewien, że każdy wie, co to są.
dfasdfg,

Nie ma to dla mnie żadnego sensu, przynajmniej jeśli chodzi o Unix / Linux. (Może to mieć sens, jeśli mówisz o systemie Windows, ale to pytanie dotyczy Fedory Linux). I, o ile ma to sens (potencjalnie), wydaje się być duplikatem odpowiedzi  sjbotha . Czy możesz wyjaśnić, co masz na myśli?
G-Man mówi „Przywróć Monikę”

mówiłem o poleceniu rozpakowania, którego użyłem w systemie Linux. Miałem katalog z wieloma plikami zip i próbowałem wyodrębnić je wszystkie za pomocą rozpakowania * .zip i dostałem ten błąd, ponieważ * nie został ocalony. być może masz rację, że to nie należy tutaj, ponieważ op właśnie próbował wyodrębnić jeden plik zip, a ja próbowałem wyodrębnić wiele za pomocą jednego polecenia.
dfasdfg

1

Próba rozpakowania skompresowanego pliku o nowej nazwie spowoduje zgłoszenie wyjątku „Niepasująca nazwa pliku”. Aby obejść ten problem, przenieś plik zip do katalogu docelowego

mv the_file.zip somedir/

przejdź do katalogu docelowego

cd somedir/

stamtąd uruchom polecenie rozpakuj bez argumentu docelowej nazwy pliku

unzip the_file.zip

Wszystko będzie działać dobrze.

więc w tym przypadku polecenia powinny być

[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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.