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.